JOB_STACKFRAME_JUMP stackframes in context will look as follows:
job_RunState.l -> size in bytes of below stackframe
JOB_STACKFRAME_JUMP
pc to resume execution at.
size in bytes of above stackframe
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
Just like JOB_STACKFRAME_THROW stackframe, except it was a jump rather than a 'throw' that was interrupted. This is needed for cases like
do{
after{
...
loopFinish;
...
}always_do{
stuff
}
}
where the loopFinish must execute stuff
before actually jumping past loop termination.
A full getStackframe[ JUMP frame result looks like:
:owner object :kind :jump :programCounter fixnum
Go to the first, previous, next, last section, table of contents.