4 ms·
This statement confuses me. There are two ABIs in common use on 64-bit x86. One is used on windows; the other is used everywhere else, and intel has been invo
by moonchild 4y ago
This statement confuses me.
There are two ABIs in common use on 64-bit x86. One is used on windows; the other is used everywhere else, and intel has been involved in its specification (I believe its current editor is an intel employee).
Most concerns relating to ABI specification can be dealt with pursuant only to architecture, not microarchitecture; minimising instruction or byte counts, say. And architectures have long lives, over the course of which microarchitectures may change quite a lot. You wouldn't want your ABI to be overfit to one particular microarchitecture.
Not to say that it's a bad thing for a processor or architecture vendor to supply a standard ABI. It's good to have cohesion and consistency, and furthermore, if you have designed an architecture, then you have (one really, really hopes) performed a lot of experiments to see what code for that architecture looks like, so you are in a good position to be specifying an ABI. But that's not to say a third party is per se in a worse position to be specifying an ABI.
And of course, stable binary interfaces are dying (and good riddance!), but that's a separate issue.
- monocasa 4y agoYeah, they cleaned up x86-64, but x86-32 had three calling conventions on windows alone.
- deleted 4y ago[deleted]