
    <<RTSD.mesa>>
        <<Copyright © 1985 by Xerox Corporation.  All rights reserved.>>
        <<Willie-Sue on January 29, 1981  5:25 PM >>
        <<Satterthwaite on 13-Jan-82 15:05:49 >>
        <<Rovner on May 11, 1983 12:24 pm >>
    <<Russ Atkinson (RRA) January 31, 1985 12:49:22 pm PST>>
        <<Satterthwaite November 26, 1985 4:28:50 pm PST>>

    <<NOTE the compiler, the CedarRuntime software and the CedarRuntime microcode depend on this, so BEWARE of changing it!>>
    <<>>
        <<Except for the following, all items below are stuffed into SD by START code in SSTrapsImpl:>>
            <<sGetCanonicalProcType    stuffed into SD by AMFrameBridgeImpl>>
            <<sGetCanonicalSignalType    stuffed into SD by AMFrameBridgeImpl>>
            <<sSystemZone    stuffed into SD by RTZonesImpl>>

        RTSD: DEFINITIONS = {

        <<locations 150b thru 207b in SD are for Cedar entries (listed herein)  >>
        sFirstCedarFree: CARDINAL = 204b;
            <<153b, 156b, 160b, 170b, 175b and 177b are unused.>>
            <<205b, 206b and 207b are used by Birrell for his freezer and freezee (CoCedar support).>>

            <<PROC[refNew: REF ANY, ptrRef: Pointer];>>
            <<supports a compiler option for refcounting thru SD rather than opcode>>
        sAssignRefTrap: CARDINAL = 151b;

            <<PROC[refNew: REF ANY, ptrRef: Pointer];>>
            <<supports a compiler option for refcounting thru SD rather than opcode>>
        sAssignRefNewTrap: CARDINAL = 152b;

            <<PROC[ptrRef: REF ANY, refNew: Pointer, offset: BYTE];>>
            <<supports a compiler option for refcounting thru SD rather than opcode>>
        sPutRefTrap: CARDINAL = 172b;

            <<PROC[ptrRef: REF ANY, refNew: Pointer, offset: BYTE];>>
            <<supports a compiler option for refcounting thru SD rather than opcode>>
        sPutRefNewTrap: CARDINAL = 173b;

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

            <<PROC[ref: REF ANY, targetType: Type] RETURNS[REF ANY];>>
            <<Raises SafeStorage.NarrowRefFault unless ref=NIL, in which case it returns NIL>>
        sCheckForNarrowRefFault: CARDINAL = 155b;

            <<PROC;>>
            <<Unconditionally raises SafeStorage.NarrowFault>>
        sRaiseNarrowFault: CARDINAL = 157b;

            <<LONG POINTER TO RTRefCounts.AGCState;>>
            <<Root of the SafeStorage runtime data structure. used by CoCedar (remotely)>>
        sGCState: CARDINAL = 161b;  -- also 162b

            <<PROC[proc: PROC ANY RETURNS ANY] RETURNS[Type];>>
            <<Supports NARROW; uses the Abstract Machine>>
        sGetCanonicalProcType: CARDINAL = 163b;

            <<PROC[sig: SIGNAL ANY RETURNS ANY] RETURNS[Type];>>
            <<Supports NARROW; uses the Abstract Machine>>
        sGetCanonicalSignalType: CARDINAL = 164b;

            <<PROC[ref: REF ANY] RETURNS[Type];>>
            <<supports a compiler option for NARROWing REFs thru SD rather than opcode>>
        sGetCanonicalReferentType: CARDINAL = 165b;

            <<ZONE.>>
            <<The default ZONE arg to bare NEW>>
        sSystemZone: CARDINAL = 166b;  -- also 167b

            <<PROC[rhs, lhs: Pointer, type: Type, nwords: CARDINAL];>>
            <<(Compiler) Supports composite statement>>
        sAssignComposite: CARDINAL = 174b;

            <<PROC[rhs, lhs: Pointer, type: Type, nwords: CARDINAL];>>
            <<(Compiler) Supports composite statement>>
        sAssignCompositeNew: CARDINAL = 176b;

            <<PROC;>>
        sClobberedOverflowTable: CARDINAL = 171b;

            <<PROC[zn: PRealZone, size: CARDINAL, type: Type] RETURNS[Pointer];>>
            <<Resort to software when the (partially) microcoded allocator can't hack it. >>
        sAllocateHeapNodeTrap: CARDINAL = 201b;

            <<RTTypesBasicPrivate.TMapStiStd>>
            <<Root of symbol access stuff. Used by CoCedar (remotely)>>
        sMapStiStd: CARDINAL = 202b;  -- also 203b

        }.


