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


JOB_STACKFRAME_NULL

JOB_STACKFRAME_NULL stackframes in context will look as follows:

  job_RunState.l   ->   size in bytes of below stackframe
                        JOB_STACKFRAME_NULL
                        junk
                        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 we fork, we want only the parent to hold the lock. (This is the unix tradition.) So we convert all LOCK frames held by the child into NULL frames. These frames are ignored except that when trying to pop a LOCK frame, a NULL frame will be accepted as a substitute.

A full getStackframe[ NULL frame result looks like:

:owner             object
:kind              nil


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