SSTraps.Mesa
last edited June 17, 1983 12:54 pm by Paul Rovner
DIRECTORY
SafeStorage USING[Type],
RTRefCounts USING[MSOperation, ProbeIndex, rcoState, AGCState],
RTTypesBasicPrivate USING[TMapStiStd],
RTZones USING[PPrefixedZone];
SSTraps: DEFINITIONS
= BEGIN OPEN SafeStorage;
AssignRefTrap: PROC[refNew: REF, ptrRef: LONG POINTER TO REF];
AssignRefNewTrap: PROC[refNew: REF, ptrRef: LONG POINTER TO REF];
ReclaimedRefOutOfOverflowTable: PROC;
ALTERCOUNTOutOfOverflowTable: PROC;
RTMOVESTATUSTrap:
PROC[msOperation: RTRefCounts.MSOperation, gcStateBank: CARDINAL]
RETURNS[CARDINAL];
ReadUCodeRegsTrap: PROC RETURNS[f: CARDINAL];
CREATEOutOfOverflowTable: PROC[npr: RTRefCounts.rcoState, refNew: REF ANY];
DumpIndexTrap: PROC[pi: RTRefCounts.ProbeIndex] RETURNS[count: CARDINAL];
GetCanonicalReferentTypeTrap: PROC[ref: REF ANY] RETURNS[type: Type];
CreatePrefixedObjectTrap:
PROC[zn: RTZones.PPrefixedZone, size: CARDINAL, type: Type]
RETURNS[ptr: LONG POINTER];
FreeObjectTrap: PROC[ptr: LONG POINTER];
FreePrefixedNodeTrap: PROC[ptr: LONG POINTER, zn: RTZones.PPrefixedZone];
RaiseNarrowFault: PROC;
ProcCheck: PROC[proc: PROC ANY RETURNS ANY] RETURNS[PROC ANY RETURNS ANY];
AssignRef: PROC[refNew: REF ANY, ptrRef: LONG POINTER];
AssignRefNew: PROC[refNew: REF ANY, ptrRef: LONG POINTER];
ClobberedOverflowTable: PROC;
These are exported by RCMapWalkerImpl to RTTypesBasicPrivate
AssignComposite: PROC[rhs, lhs: LONG POINTER, type: Type, nwords: CARDINAL];
AssignCompositeNew:
PROC[rhs, lhs: LONG POINTER, type: Type, nwords: CARDINAL];
CheckForNarrowRefFault:
PROC[ref: REF ANY, targetType: Type] RETURNS[REF ANY];
GetCanonicalReferentTypeSDTrap: PROC[ref: REF ANY] RETURNS[type: Type];
AllocateHeapNodeSDTrap:
PROC[zn: RTZones.PPrefixedZone, size: CARDINAL, type: Type]
RETURNS[ptr: LONG POINTER];
MapStiStd: RTTypesBasicPrivate.TMapStiStd;
GCState: LONG POINTER TO RTRefCounts.AGCState;
END.