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
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)