-- file RTSD.mesa
-- last modified by Willie-Sue on January 29, 1981 5:25 PM
-- last modified by Satterthwaite on 13-Jan-82 15:05:49
-- last modified by Paul Rovner on February 17, 1983 3:33 pm

-- NOTE the compiler and the microcode depend on this, so BEWARE of changing it

DIRECTORY
SDDefs: TYPE USING [SD];

RTSD: DEFINITIONS = {

-- the "system data vector"
SD: POINTER TO ARRAY [0..0) OF UNSPECIFIED = SDDefs.SD;


-- locations 150b thru 207b in SD are for Cedar entries (listed herein)

sFirstCedarFree: CARDINAL = 204b; -- 205b, 206b and 207b are used (see below)

-- AssignRefTrap: PROC, for AssignRef: PROC[refNew: REF ANY, ptrRef: Pointer];
sAssignRefTrap: CARDINAL = 151b;

-- AssignRefNewTrap: PROC, for AssignRefNew: PROC[refNew: REF ANY, ptrRef: Pointer];
sAssignRefNewTrap: CARDINAL = 152b;

-- CedarFork: PROC; write around of Pilot's FORK, to register the process
sFork: CARDINAL = 153b;

-- ProcCheck: PROC[proc: PROC ANY RETURNS ANY]
-- RETURNS[PROC ANY RETURNS ANY];
--check for assignment of nested procs out of scope
sProcCheck: CARDINAL = 154b;

-- CheckForNarrowRefFault: PROC[ref: REF ANY] RETURNS[REF ANY];
sCheckForNarrowRefFault: CARDINAL = 155b;

-- GetCanonicalReferentTypeD0Trap: PROC (implicit) [ref: REF ANY] RETURNS[Type];
sGetCanonicalReferentTypeD0Trap: CARDINAL = 156b;

-- RaiseNarrowFault: PROC;
sRaiseNarrowFault: CARDINAL = 157b;

-- RTState: LONG POINTER TO RTRefCounts.AGCState;
sRTState: CARDINAL = 161b; -- also 162b

-- AssignComposite: PROC[rhs, lhs: Pointer, type: Type, nwords: CARDINAL];
sAssignComposite: CARDINAL = 174b;

-- AssignCompositeNew:
-- PROC[rhs, lhs: Pointer, type: Type, nwords: CARDINAL];
sAssignCompositeNew: CARDINAL = 176b;

-- GetCanonicalProcType: PROC[proc: PROC ANY RETURNS ANY] RETURNS[Type];
sGetCanonicalProcType: CARDINAL = 163b;

-- GetCanonicalSignalType: PROC[sig: SIGNAL ANY RETURNS ANY] RETURNS[Type];
sGetCanonicalSignalType: CARDINAL = 164b;

-- GetCanonicalReferentType: PROC[ref: REF ANY] RETURNS[Type];
sGetCanonicalReferentType: CARDINAL = 165b;

-- The SystemZone. Collectible, prefixed, in RootBase
sSystemZone: CARDINAL = 166b; -- also 167b

-- CREATEOutOfOverflowTable: PROC[ref: REF ANY, npr: CARDINAL];
sCREATEOutOfOverflowTable: CARDINAL = 170b;

-- ClobberedOverflowTable: PROC;
sClobberedOverflowTable: CARDINAL = 171b;

-- GetCanonicalReferentTypeTrap: PROC (implicit [ref: REF ANY] RETURNS[Type]);
sGetCanonicalReferentTypeTrap: CARDINAL = 172b;

-- FreeCollectibleObject: PROC[refObj: REF ANY];
sFreeCollectibleObject: CARDINAL = 173b;

-- ASSIGNOutOfOverflowTable: PROC[ref: REF ANY, ptrRef: LONG POINTER TO REF, who: CARDINAL];
sASSIGNOutOfOverflowTable: CARDINAL = 175b;

-- ALTERCOUNTOutOfOverflowTable: PROC;
sALTERCOUNTOutOfOverflowTable: CARDINAL = 177b;

-- AllocateQuantizedNodeTrap: (implicit)
-- PROC[zn:PRealZone, size: CARDINAL, type: Type] RETURNS[Pointer];
sAllocateQuantizedNodeTrap: CARDINAL = 200b;

-- AllocateHeapNodeTrap: (implicit)
-- PROC[zn:PRealZone, size: CARDINAL, type: Type] RETURNS[Pointer];
sAllocateHeapNodeTrap: CARDINAL = 201b;

-- RTTypesBasicPrivate.MapStiStd
sMapStiStd: CARDINAL = 202b; -- also 203b

-- for AMProcessBasicImpl
sFreezer: CARDINAL = 205b;

-- for AMProcessBasicImpl
sFreezees: CARDINAL = 206b; -- also 207b

}.