DIRECTORY Allocator USING[NHeaderP], Collector USING[Disposition], SafeStorage USING[Type], RTTypesBasicPrivate USING[TMapStiStd, TMapTiTd], ZCT USING[ZeroCountTable]; StorageTraps: DEFINITIONS = BEGIN OPEN SafeStorage; FreeTrap: PROC[nhp: Allocator.NHeaderP] RETURNS[success: BOOL]; AllocateTrap: PROC[size: CARDINAL, type: Type] RETURNS[REF]; AssignRefTrap: PROC[refNew: REF, ptrRef: LONG POINTER TO REF]; DisableMicrocodeTrap: PROC[zct: ZCT.ZeroCountTable]; EnableMicrocodeTrap: PROC[zct: ZCT.ZeroCountTable] RETURNS[ucVersion: NAT _ 0]; ReclaimableRefTrap: PROC[nhp: Allocator.NHeaderP] RETURNS[Collector.Disposition]; ReclaimedRefTrap: PROC[ref: REF ANY] RETURNS[REF ANY]; CreateRefTrap: PROC[nhp: Allocator.NHeaderP]; GetCanonicalReferentTypeTrap: PROC[ref: REF ANY] RETURNS[type: Type]; CheckForNarrowRefFault: PROC[ref: REF ANY, targetType: Type] RETURNS[REF ANY]; RaiseNarrowFault: PROC; -- from StorageTrapsImpl ProcCheck: PROC[proc: PROC ANY RETURNS ANY] RETURNS[PROC ANY RETURNS ANY]; MapStiStd: RTTypesBasicPrivate.TMapStiStd; MapTiTd: RTTypesBasicPrivate.TMapTiTd; END. φStorageTraps.Mesa last edited October 19, 1983 10:41 am by Paul Rovner last edited July 2, 1984 4:12:07 pm PDT by Richard Koo Reference counting from AllocatorImpl from ZCTImpl The 2 fns below are exported by RCMapWalkerImpl to RTTypesBasicPrivate. They are not included here to avoid cloning RCMapWalkerImpl for NewSafeStorage AssignComposite: PROC[rhs, lhs: LONG POINTER, type: Type, nwords: CARDINAL]; AssignCompositeNew: PROC[rhs, lhs: LONG POINTER, type: Type, nwords: CARDINAL]; WITH refAny SELECT FROM ..., NARROWing of REF ANY from AllocatorImpl this is the same as SafeStorage.GetCanonicalReferentType GetCanonicalReferentTypeSDTrap: PROC[ref: REF ANY] RETURNS[type: Type]; from TypesBasicImpl Safe language runtime check for offstack assignment of inner procedure descriptors from StorageTrapsImpl Enable CoCedar to find symbols for Types from TypesBasicImpl. Stuffed into SD first by StorageTrapsImpl and later by SymbolAccessImpl from TypesBasicImpl. Stuffed into SD by StorageTrapsImpl. Κͺ– "cedar" style˜procšœ™Kšœ4™4Kšœ6™6—K˜šΟk ˜ Kšœ œ ˜Kšœ œ˜Kšœ œ˜Kšœœ˜0Kšœœ˜—K˜Kšœ ˜Kšœœœ ˜K˜šœ™šœ™JšΟnœœœ œ˜?Jš ž œœœœœ˜<—J™šœ ™ Jšž œœ œ œœœœ˜>Jšžœœœ˜4šžœ˜Jšœœœ œ˜:—Jšžœœœ˜QJšžœœœœœœœ˜6Jšž œœ˜-K™Kšœ—™——KšœL™Lšœ™Kšœ;™;——K˜šœ2™2š žœΟcœœœŸœ ˜EKšœ™K˜Kšœ8™8—KšœG™GK˜šžœœœœŸœœœ˜NKšœ™—K˜KšžœœŸ˜1—K˜šœS™Sšž œœœœœœœœœœœ˜JKšœ™——K˜šœ(™(šΟb œ!˜*Kšœ]™]—K˜š œ˜&Kšœ:™:——K˜šœ˜K˜——…—J κ