job_RunState.l -> size in bytes of stackframe JOB_STACKFRAME_NORMAL local_variable_N ... local_variable_1 job_RunState.v -> local_variable_0 compiledFunction for this frame. programCounter for this frame. size in bytes of stackframe
where job_RunState.l is an internal interpreter variable pointing to the current top of loop stack, and job_RunState.v is an internal interpreter variable pointing to the currently active set of local variables.
Rationale:
Note: The very bottom stackframe on a stack has a zero word below it. This stops any attempt to traverse down past the bottom of the stack:
job_RunState.l -> size in bytes of below stackframe JOB_STACKFRAME_NORMAL local_variable_N ... local_variable_1 job_RunState.v -> local_variable_0 compiledFunction for this frame. programCounter for this frame. size in bytes of above stackframe ZERO WORD
A full getStackframe[
NORMAL frame result looks like:
:owner object :kind :normal :programCounter fixnum :compiledFunction object :variables count of local variables 0 value of local_variable_0 1 value of local_variable_1 ... ...
Go to the first, previous, next, last section, table of contents.