<> <> <> <> DIRECTORY BootFile USING[ Location], PrincOps USING[ ControlLink, Frame, NullLink, PageNumber, PsbIndex ], RuntimeError USING [UCSProc]; DebuggerSwap: DEFINITIONS = BEGIN Initialize: PROCEDURE; <> StartSwatWatcher: SAFE PROCEDURE[enabled: BOOL]; <> EnableSwatWatcher: SAFE PROCEDURE[enabled: BOOL]; <> NoteDiskDebugger: PROC[debugger, debuggee: BootFile.Location]; <> <<>> NoteLoadstate: PROC[PrincOps.PageNumber]; <> <<>> NoteVMRunTable: PROC[LONG POINTER]; <> <<>> Catcher: RuntimeError.UCSProc; <> <<>> teledebug: BOOL; < use teledebugger even if we have a world-swap debugger.>> WorryCallDebugger: READONLY SAFE PROCEDURE[STRING]; CallDebugger: SAFE PROCEDURE[STRING]; LocalLink: PROC[given: PrincOps.ControlLink, psbi: PrincOps.PsbIndex] RETURNS[link: PrincOps.ControlLink] = INLINE <> BEGIN IF (link _ given) = [frame[freezer]] AND freezer # NIL THEN IF (link _ freezeesTable[psbi]) = PrincOps.NullLink -- not really frozen! -- THEN link _ given; END; Frozen: TYPE = ARRAY PrincOps.PsbIndex OF PrincOps.ControlLink; freezeesTable: PRIVATE READONLY Frozen; freezer: PRIVATE READONLY POINTER TO local PrincOps.Frame; END.