JOB_STACKFRAME_VANILLA stackframes in context will look as follows:
job_RunState.l -> size in bytes of below stackframe
JOB_STACKFRAME_VANILLA
junk entry.
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
When an after{ clause completes normally, it changes
its PROTECT stackframe to a VANILLA stackframe and
then starts up the }always_do{ clause. When the
}always_do{ clause completes, it pops the
VANILLA stackframe.
(If the after{ clause does not complete normally,
something tastier than a VANILLA frame is pushed, and
when done the }ALWAYS_DO{ clause will continue
whatever activity the }ALWAYS_DO{ interrupted,
getting the needed information from the tasty stackframe,
which it eats before finishing.)
A full getStackframe[ VANILLA frame result looks like:
:owner object :kind :vanilla :junk junk
Go to the first, previous, next, last section, table of contents.