DIRECTORY Allocator USING [NHeaderP], Collector USING [Disposition], SafeStorage USING [Type], RTTypesBasicPrivate USING [TMapStiStd, TMapTiTd], ZCT USING [ZeroCountTable]; StorageTraps: DEFINITIONS = BEGIN FreeTrap: PROC[nhp: Allocator.NHeaderP] RETURNS[success: BOOL]; AllocateTrap: PROC[size: CARDINAL, type: SafeStorage.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: SafeStorage.Type]; CheckForNarrowRefFault: PROC[ref: REF ANY, targetType: SafeStorage.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 Copyright c 1985 by Xerox Corporation. All rights reserved. Paul Rovner, October 19, 1983 10:41 am Richard Koo, July 2, 1984 4:12:07 pm PDT Russ Atkinson (RRA) February 1, 1985 12:50:01 pm PST Beach, February 22, 1985 2:55:11 pm PST Doug Wyatt, February 24, 1985 9:55:05 pm PST 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: SafeStorage.Type, nwords: CARDINAL]; AssignCompositeNew: PROC[rhs, lhs: LONG POINTER, type: SafeStorage.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: SafeStorage.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˜codešœ™Kšœ Οmœ1™Kš œžœžœ˜4Kš  œžœžœžœ žœ˜OKš œžœžœ˜QKš œžœžœžœžœžœžœ˜6Kš  œžœ˜-K™Kšœ—™—Kš  œžœ žœžœ"žœ™XKš  œžœ žœžœ"žœ™[K™K™Kšœ5™5K˜š  œΟcžœžœžœ‘žœ˜QKšœ™Kšœ8™8K™—š  œžœžœžœžœ™SK˜—š œžœžœžœ‘žœžœžœ˜[Kšœ™K™—Kš œžœ‘˜0K˜K™KšœS™SK˜š  œžœžœžœžœžœžœžœžœžœžœ˜JKšœ™—K™K™Kšœ(™(K™šΟb œ!˜*Kšœ]™]K™—š’œ˜&Kšœ:™:K™—K˜Kšžœ˜—…—\ (