Go to the first, previous, next, last section, table of contents.


JOB_STACKFRAME_ENDJOB

JOB_STACKFRAME_ENDJOB stackframes in context will look as follows:

  job_RunState.l   ->   size in bytes of below stackframe
                        JOB_STACKFRAME_ENDJOB
                        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

This stackframe is pushed when we are actually executing }ALWAYS_DO{ ... } code -- we've halted an endJob operation midway in order to execute our }ALWAYS_DO{ clause, and must resume the endJob as soon as the }ALWAYS_DO{ clause completes.

A full getStackframe[ ENDJOB frame result looks like:

:owner             object
:kind              :endJob
:junk              junk


Go to the first, previous, next, last section, table of contents.