BodyData:
TYPE =
RECORD[
-- shared communication record
level: Symbols.ContextLevel, -- current level
bodyNode: Tree.Index, -- current body
argCtx: Symbols.CTXIndex, -- ctx for inputRecord
inputRecord: RecordSEIndex, -- input record for current body
returnRecord: RecordSEIndex, -- return record for current body
entry: BOOL, -- set for entry procedures
lockHeld: BOOL, -- set for entry or internal procedures
noXfers: BOOL, -- set by embedded xfer (except return)
reachable: BOOL,
labelList: Tree.Link, -- list of accessible labels
loopDepth: CARDINAL, -- depth of loop nesting
catchDepth: CARDINAL, -- depth of catch phrase nesting
unwindEnabled: BOOL, -- set iff in scope of unwind
resumeFlag: BOOL, -- set iff a resume is legal
resumeRecord: RecordSEIndex]; -- for current catch phrase