Machine- and ABI-dependent layout information for activation records.
.
In the PowerPC/EABI application binary interface,
the general shape of activation records is as follows,
from bottom (lowest offsets) to top:
-
8 reserved bytes. The first 4 bytes hold the back pointer to the
activation record of the caller. The next 4 bytes are reserved
for called functions to store their return addresses.
Since we would rather store our return address in our own
frame, we will not use these 4 bytes, and just reserve them.
-
Space for outgoing arguments to function calls.
-
Local stack slots of integer type.
-
Saved return address into caller.
-
Saved values of integer callee-save registers used by the function.
-
One word of padding, if necessary to align the following data
on a 8-byte boundary.
-
Local stack slots of float type.
-
Saved values of float callee-save registers used by the function.
-
Space for the stack-allocated data declared in Cminor.
The
frame_env compilation environment records the positions of
the boundaries between areas in the frame part.
Computation of the frame environment from the bounds of the current
function.
).
Proof.
)).
Proof.