-- Runtime.mesa (last edited by: Sandman on: August 26, 1980 12:18 PM)
-- Copyright Xerox Corporation 1979, 1980
DIRECTORY
Mopcodes USING [zKFCB],
SDDefs USING [sCallDebugger, sUnNew],
System USING [GreenwichMeanTime];
Runtime: DEFINITIONS =
BEGIN
-- Global Frame management
GlobalFrame: PROCEDURE [link: UNSPECIFIED] RETURNS [PROGRAM];
--NewConfig: PROCEDURE [file: File.Capability];
--RunConfig: PROCEDURE [file: File.Capability];
UnNewConfig: PROCEDURE [link: UNSPECIFIED];
UnNew: PROCEDURE [frame: PROGRAM] = MACHINE CODE
BEGIN Mopcodes.zKFCB, SDDefs.sUnNew END;
SelfDestruct: PROCEDURE;
-- Frame validation
ValidateGlobalFrame: PROCEDURE [frame: UNSPECIFIED];
InvalidGlobalFrame: ERROR [frame: UNSPECIFIED];
ValidateFrame: PROCEDURE [frame: UNSPECIFIED];
InvalidFrame: ERROR [frame: UNSPECIFIED];
-- Debugger interface
CallDebugger: PROCEDURE [STRING] = MACHINE CODE
BEGIN Mopcodes.zKFCB, SDDefs.sCallDebugger END;
Interrupt: PROCEDURE = INLINE {};
-- Build information
GetBcdTime: PROCEDURE RETURNS [System.GreenwichMeanTime];
GetBuildTime: PROCEDURE RETURNS [System.GreenwichMeanTime];
-- Debugging information
GetCaller: PROCEDURE RETURNS [PROGRAM];
-- Access to compiled tables, etc
--GetTableBase: PROCEDURE [frame: PROGRAM] RETURNS [LONG POINTER];
-- Conditional loading information
IsBound: PROCEDURE [link: UNSPECIFIED] RETURNS [BOOLEAN];
-- Signals and errors generated by the Pilot Mesa System and of interest to Mesa programmers
BoundsFault: SIGNAL;
--ConfigError: ERROR [type: ConfigErrorType];
--ConfigErrorType: TYPE = {badCode, invalidConfig, missingCode, versionMismatch, unknown};
ControlFault: SIGNAL [source: UNSPECIFIED --ControlLink--]
RETURNS [UNSPECIFIED --ControlLink--];
DivideCheck: SIGNAL;
LinkageFault: ERROR;
PointerFault: SIGNAL;
PortFault: ERROR;
StartFault: SIGNAL [dest: PROGRAM];
StackError: ERROR;
UnboundProcedure: SIGNAL [dest: UNSPECIFIED --ControlLink--]
RETURNS [UNSPECIFIED --ControlLink--];
ZeroDivisor: SIGNAL;
END.