/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */ /* time: July 22, 1992 10:02:06 am PDT */ /* C2C version: October 16, 1990 (native) */ /* ref-counting: off */ /* file: UnsafeStorageImpl, module: UnsafeStorageImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [428995076,2903964516] UnsafeStorageImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef word (*fPt)(); #define SOURCE(p, l) /* source p, l */ static void NoName←Q420(); static void UnsafeStorageImpl←P0(); static word GetSystemUZone←P60(); static word GetUZone←P120(); static word New←P180(); static void Free←P240(); static word NewUObject←P300(); static word GetTransientPageUZone←P360(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\031\221\362\004\300\255\026\373\144\100\150\000\000"}; static struct {unsigned f; char r[16];} string2 = {851984, "\257\300\311\270\056\075\300\372\060\276\203\100\150\000\000"}; static struct { word f0[7]; word f7; word f8; word f9; word f10; word f11; word f12; word f13; word f14; word f15; word f16; word f17; word f18; word f19; word f20[2]; } globalframe = { {0}, (word) GetTransientPageUZone←P360, 0, (word) NewUObject←P300, 0, (word) Free←P240, 0, (word) New←P180, 0, (word) GetUZone←P120, 0, (word) GetSystemUZone←P60, 0, (word) UnsafeStorageImpl←P0, {0} }; static void NoName←Q420() { register ptr gf←c030 = (ptr) &globalframe; word var←c4584; (void) XR←DeclareGlobalFrame((word) "UnsafeStorageImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string1)), (word) ( ( (bPt) gf←c030)+76)/* var←c4488 */ ); var←c4584 = (word) XR←ExportInterface((word) "UnsafeStorage", (word) XR←GetTypeIndexS((word) (&string2)), 4); (* (( (ptr) gf←c030)+21)/* var←c4552 */ ) = var←c4584; (void) XR←ExportProcS(var←c4584, (word) (( (bPt) gf←c030)+36)/* var←c4328 */ , 67633154); (void) XR←ExportProcS(var←c4584, (word) (( (bPt) gf←c030)+68)/* var←c4456 */ , 67109120); (void) XR←ExportProcS(var←c4584, (word) (( (bPt) gf←c030)+28)/* var←c4296 */ , 67109376); (void) XR←ExportVar(var←c4584, 3, (word) (( (bPt) gf←c030)+24)); } static void UnsafeStorageImpl←P0(formal←c013, formal←c012) word formal←c013; word formal←c012; { register ptr gf←c4616 = (ptr) &globalframe; /* UnsafeStorageImpl: */ SOURCE(27, 1301) SOURCE(350, 49) (* (( (ptr) gf←c4616)+4)/* systemUZone←v2520 */ ) = (word) GetUZone←P120((word) (( (bPt) gf←c4616)+52)/* var←c4392 */ , (word) ( ( (bPt) gf←c4616)+44)/* var←c4360 */ ); } static word GetSystemUZone←P60() { register ptr gf←c4648 = (ptr) &globalframe; word var←c3188; /* GetSystemUZone: */ SOURCE(402, 76) SOURCE(459, 19) return((* (( (ptr) gf←c4648)+4)/* systemUZone←v2520 */ )); } static word GetUZone←P120(new←v3256, free←v3284) word new←v3256; word free←v3284; { word var←c3328; word uZone←v3672; /* GetUZone: */ SOURCE(482, 173) SOURCE(565, 43) uZone←v3672 = (word) ( *( (fPt) ((* (ptr) new←v3256 ))))(0, 8, new←v3256); SOURCE(610, 20) (* (ptr) uZone←v3672 ) = new←v3256; (* (( (ptr) uZone←v3672)+1) ) = free←v3284; SOURCE(632, 23) return(uZone←v3672); } static word New←P180(self←v4060, units←v4088) word self←v4060; word units←v4088; { word var←c4132; word ptr←v3744; /* New: */ SOURCE(760, 178) SOURCE(861, 39) ptr←v3744 = (word) GC←malloc((units←v4088 + 8)); SOURCE(902, 36) return((ptr←v3744 + 8)); } static void Free←P240(self←v4192, object←v4220) word self←v4192; word object←v4220; { word ptr←v3920; /* Free: */ SOURCE(944, 159) SOURCE(1026, 56) ptr←v3920 = (object←v4220 - 8); SOURCE(1084, 19) (void) GC←free(ptr←v3920); } static word NewUObject←P300(size←v3396, zone←v3424) word size←v3396; word zone←v3424; { word var←c3476; /* NewUObject: */ SOURCE(1111, 139) SOURCE(1209, 41) return((word) New←P180(zone←v3424, size←v3396)); } static word GetTransientPageUZone←P360() { register ptr gf←c4680 = (ptr) &globalframe; word var←c3548; /* GetTransientPageUZone: */ SOURCE(1256, 72) SOURCE(1319, 9) (void) XR←RaiseError((word) (( (bPt) gf←c4680)+20), 0); } /* file: UnsafeStorageImpl, module: UnsafeStorageImpl, compiled at: July 22, 1992 10:02:05 am PDT */ extern void XR←install←UnsafeStorageImpl() { NoName←Q420(); } extern void XR←run←UnsafeStorageImpl() { XR←Start(&globalframe); }