-- RuntimeInternal.mesa (last edited by: McJones on: February 4, 1981 3:08 PM)
DIRECTORY
Environment USING [PageNumber],
Mopcodes USING [zKFCB],
PrincOps USING [GFTIndex, GlobalFrameHandle],
ProcessInternal USING [DisableInterrupts],
SDDefs USING [sWorryCallDebugger];
RuntimeInternal: DEFINITIONS IMPORTS ProcessInternal =
BEGIN
-- Frame management
GetNextGlobalFrame: PROCEDURE [frame: PrincOps.GlobalFrameHandle]
RETURNS [nextFrame: PrincOps.GlobalFrameHandle];
EnterGlobalFrame: PROCEDURE [frame: PrincOps.GlobalFrameHandle, nslots: CARDINAL]
RETURNS [PrincOps.GFTIndex];
RemoveGlobalFrame: PROCEDURE [frame: PrincOps.GlobalFrameHandle];
DeletedFrame: PROCEDURE [gfi: PrincOps.GFTIndex] RETURNS [BOOLEAN];
Codebase: PROCEDURE [frame: PROGRAM] RETURNS [LONG POINTER];
Code: PROCEDURE [procedure: UNSPECIFIED] RETURNS [LONG POINTER];
EntryVector: PROCEDURE [procedure: UNSPECIFIED] RETURNS [LONG POINTER];
MakeFsi: PROCEDURE [words: CARDINAL] RETURNS [fsi: CARDINAL];
FrameSize: PROCEDURE [fsi: CARDINAL] RETURNS [CARDINAL];
FlushLargeFrames: PROCEDURE;
NoGlobalFrameSlots: SIGNAL [CARDINAL];
-- Calling the debugger to process the map log
CleanMapLog: PROCEDURE;
-- Reporting a Pilot bug
Bug: PROCEDURE [bugType: UNSPECIFIED] = INLINE
BEGIN
ProcessInternal.DisableInterrupts[];
bugLinkage.Bug[bugType];
-- The implementation of Bug guarantees never to return, so we need not enable interrupts or ...
END;
BugLinkage: PRIVATE TYPE = RECORD [Bug: PROCEDURE [bugType: UNSPECIFIED]];
bugLinkage: PRIVATE BugLinkage;
-- Calling the debugger from resident modules
WorryCallDebugger: PROCEDURE [STRING] =
MACHINE CODE BEGIN
Mopcodes.zKFCB, SDDefs.sWorryCallDebugger END;
-- Signals and errors generated by the Signals module
SendMsgSignal: SIGNAL RETURNS [UNSPECIFIED, UNSPECIFIED];
ResumeError: SIGNAL;
-- Signals and errors generated by the PilotNub module
CantSwap: SIGNAL;
CAbort: SIGNAL;
-- "pointer" to the load information
loadStatePage: Environment.PageNumber;
-- Xfer Tracing
StartTrace: PROCEDURE [loc: POINTER, val: UNSPECIFIED, mask: WORD, equal: BOOLEAN];
StopTrace: PROCEDURE;
END.
LOG
(For earlier log entries see Pilot 4.0 archive version.)
Time: April 24, 1980 5:02 PMBy: ForrestAction: ControlDefs => PrincOps
Time: February 4, 1981 3:08 PMBy: McJonesAction: Added Code, EntryVector