stack-frame


Vocabulary
compiler.cfg.stack-frame

Class description
Counts in bytes of the various sizes of the blocks of the stack frame. The stack frame is organized in the following fashion, from bottom to top:
Parameter space: space for parameters to FFI functions
Allocation area: space for local allocations.
Spill area: space for register spills.
Reserved stack space: only applicable on Windows x86.64. See reserved-stack-space.
One final cell of padding.

The stack frame is also aligned to a 16 byte boundary. It has the following slots:
total-sizeTotal size of the stack frame.
paramsReserved parameter space.
allot-area-baseBase offset of the allocation area.
allot-area-sizeNumber of bytes requires for the allocation area.
allot-area-alignThis slot is always at least cell bytes.
spill-area-baseBase offset for the spill area.
spill-area-sizeNumber of bytes requires for all spill slots.
spill-area-alignThis slot is always at least cell bytes.


See also
align-stack

Definition


TUPLE: stack-frame
{ params integer initial: 0 }
{ allot-area-size integer initial: 0 }
{ allot-area-align integer initial: 0 }
{ spill-area-size integer initial: 0 }
{ spill-area-align integer initial: 0 }
{ total-size integer initial: 0 }
{ allot-area-base integer initial: 0 }
{ spill-area-base integer initial: 0 } ;