3 ms·
Does this means that C++ programs will at long last get a consistent ABI?
by pygy_ 15y ago
Does this means that C++ programs will at long last get a consistent ABI?
- obiterdictum 15y agoThese two are orthogonal. Simply put, 1. ABI is a set of rules for interaction between multiple code units (functions, translation units, libraries) running sequentially and calling each other, e.g. how arguments are passed to the functions, how return values are passed back, how exceptions are thrown and handled. 2. Memory model is a set of rules for interaction between multiple (potentially) concurrently running threads, e.g. how a compiler can reorder load/store instructions to main memory, which operations imply memory barriers.
- pygy_ 15y agoThanks for the info :-)
- tedunangst 15y agoIA64 defined an official ABI for C++, other platforms are also adopting it (though that means breaking with any previous ABI), but it remains outside the scope of the C++ standard.
- hawflakes 15y agoI hate to say it, but is this the only lasting contribution IA64 will have on the computing industry? (I did work on IA64 system software pre-silicon once upon a time)
- danieldk 15y agoDitching the BIOS for EFI?
- sparky 15y agoIA64 is by far the most aggressive VLIW implementation we have. It was significantly ahead of its time, in that it relied on "sufficiently advanced compilers" that still haven't materialized. We'll get there eventually, and future architectures will push complexity into the compiler the way Itanium did when the compiler is able to bear the load. We're already there for easy-to-schedule, well-understood codes (e.g., ATI GPUs are VLIW), but I'm betting more Itanium-like microarchitecture will come out of the woodwork eventually. In a sense, VLIW/EPIC was one of the only things IA64 was trying to do differently than existing architectures. The chips have a bunch of cool RAS features, but Power5-7 have most of those too.