Loader.mesa
Copyright Ó 1988, 1991 by Xerox Corporation. All rights reserved.
JKF September 26, 1988 7:26:28 am PDT
Eduardo Pelegri-Llopart October 21, 1988 10:44:29 am PDT
DIRECTORY
BasicTime USING [GMT],
Rope USING [ROPE];
Loader: CEDAR DEFINITIONS = BEGIN
BCDBuildTime: SAFE PROC [proc: PROC ANY RETURNS ANY ¬ NIL] RETURNS [BasicTime.GMT];
Returns the time that a given bcd file was built.
LoadFile: PROC [file: Rope.ROPE] RETURNS [moduleName: Rope.ROPE];
LoadFile can raise LoadError or LoadException. Calls the PCR loader to perform it's load and relocate function on the argument file, which must be a valid object file previously processed by the link editor (ld).
Install: PROC[moduleName: Rope.ROPE];
Install can raise LoadError or LoadException. Calls the install procedure associated with moduleName. This will only work if a previous LoadFile has been performed which registered the installation procs of moduleName.
Run: PROC[moduleName: Rope.ROPE];
Run can raise LoadError or LoadException. Calls the run procedure associated with moduleName. This will only work if a previous LoadFile has been performed which registered the installation procs of moduleName.
Unload: PROC[moduleName: Rope.ROPE];
Unload can raise LoadError or LoadException. Calls the run procedure associated with moduleName. This will only work if a previous LoadFile has been performed which registered the installation procs of moduleName.
Zap: PROC[moduleName: Rope.ROPE];
Zap raises neither LoadError nor LoadException
LoadExceptionType: TYPE = {
versionMismatch, previouslyLoaded, previouslyInstalled, previouslyRun, previouslyUnloaded, unknown};
LoadException: SIGNAL [type: LoadExceptionType, message: Rope.ROPE ¬ NIL];
LoadErrorType: TYPE = {
invalidObjectFile, loadStateFull, insufficientVM, loadeeNotFound, noUnloadProc, noRunProc, noInstallProc, unknown};
LoadError: ERROR [type: LoadErrorType, message: Rope.ROPE ¬ NIL];
MakeProcedureResident: SAFE PROC [proc: PROC ANY RETURNS ANY];
Pins the code for a given procedure. (NOOP)
MakeProcedureSwappable: PROC [proc: PROC ANY RETURNS ANY];
Unpins the code for a given procedure. (NOOP)
MakeGlobalFrameResident: SAFE PROC [proc: PROC ANY RETURNS ANY];
Pins the global frame for a given procedure. (NOOP)
MakeGlobalFrameSwappable: PROC [proc: PROC ANY RETURNS ANY];
Unpins the global frame for a given procedure. (NOOP)
END.