Loader.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Rovner, August 15, 1983 11:49 am
Levin, September 22, 1983 1:06 pm
Russ Atkinson (RRA) February 4, 1985 4:43:28 pm PST
Instantiate:
PROC[file: OpenFile, pageOffset:
INT ← 0, codeLinks:
BOOL ←
TRUE]
RETURNS[cm: ControlModule, unboundImports:
LIST
OF IRItem];
offset is the offset within the file of the first page of the BCD. This is normally 0.
Instantiate can raise Error
IRItem: TYPE = RECORD[interfaceName: ROPE, index: NAT];
IRList: TYPE = LIST OF IRItem;
Start:
PROC[cm: ControlModule];
Start the given control module, which must have resulted from an Instantiate.
MakeProcedureResident:
SAFE
PROC[proc:
PROC
ANY
RETURNS
ANY];
Pins the code for a given procedure.
MakeProcedureSwappable:
PROC[proc:
PROC
ANY
RETURNS
ANY];
Unpins the code for a given procedure.
MakeGlobalFrameResident:
SAFE
PROC[proc:
PROC
ANY
RETURNS
ANY];
Pins the global frame for a given procedure.
MakeGlobalFrameSwappable:
PROC[proc:
PROC
ANY
RETURNS
ANY];
Unpins the global frame for a given procedure.
BCDBuildTime:
SAFE
PROC[proc:
PROC
ANY
RETURNS
ANY ←
NIL]
RETURNS[
GMT];
Returns the time that a given bcd file was built.
Error: ERROR[type: ErrorType, message: ROPE ← NIL];
ErrorType:
TYPE = {
invalidBcd, fileNotFound, versionMismatch, loadStateFull, insufficientVM
};