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.