Architectural Caveat: Multiple Register Sets

Not all architectures have the same call/return performance. Some machines, like the SPARC architecture, exhibit almost no call/return performance penalties within a limited range of call depth. These architectures have the ability to do very fast allocations of new register frames on calls. This obviates the need to store old register contents on calls. Methods return by simply making the previously allocated register set the current register set, thus making register restoration on returns unnecessary. These architectures can pass arguments in the registers (a group of registers are shared by caller and callee), thus making it largely unnecessary to push variables on the system's memory stack prior ...

Get Efficient C++ Performance Programming Techniques now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.