/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */ /* time: September 24, 1992 9:38:50 pm PDT */ /* C2C version: October 16, 1990 (native) */ /* ref-counting: off */ /* file: RegisterRefLiteralImpl, module: RegisterRefLiteralImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [460647230,78684980] RegisterRefLiteralImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef struct {word f0, f1;} W2; typedef word (*fPt)(); #define SOURCE(p, l) /* source p, l */ static void NoName←Q576(); static void RegisterRefLiteralImpl←P0(); extern void XR←RegisterRefLiteralCreator(); static word Uninit←P120(); static void LookupType←P180(); extern word XR←GetRefLiteral(); static word CreateTEXT←P300(); static word CreateROPE←P360(); static word CreateATOM←P420(); static struct {unsigned f; char r[16];} string1 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"}; static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"}; static struct {unsigned f; char r[16];} string3 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\105\014\000"}; static struct {unsigned f; char r[44];} string4 = {2818092, "\216\260\007\006\154\145\156\147\164\150\210\241\000\200\177\377\005\004\164\145\170\164\254\206\012\011\155\141\170\114\145\156\147\164\150\210\241\000\200\177\377\243\261"}; static struct {unsigned f; char r[4];} string5 = {131076, "\216\251\000"}; static struct {unsigned f; char r[44];} string6 = {2752556, "\260\006\005\146\151\162\163\164\257\300\033\164\353\076\300\004\260\243\064\100\214\005\004\162\145\163\164\214\257\300\033\164\353\076\300\004\260\243\064\100\214\261\000"}; static struct {unsigned f; char r[4];} string7 = {131074, "\003\002\000"}; static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\033\164\353\076\300\004\260\243\064\100\164\000\000"}; static struct {unsigned f; char r[4];} string9 = {131074, "\003\010\000"}; static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\374\377\221\350\300\202\044\047\115\100\150\000\000"}; static struct {unsigned f; char r[12];} string11 = {720908, "\257\300\036\351\345\237\244\150\210\100\150"}; static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\340\371\234\150\300\366\276\257\130\100\150\000\000"}; static struct { word f0[16]; word f16; word f17; word f18; word f19; word f20; word f21; word f22; word f23; word f24; word f25; word f26; word f27; word f28; word f29; word f30; word f31[4]; } globalframe = { {0}, (word) CreateATOM←P420, 0, (word) CreateROPE←P360, 0, (word) CreateTEXT←P300, 0, (word) XR←GetRefLiteral, 0, (word) LookupType←P180, 0, (word) Uninit←P120, 0, (word) XR←RegisterRefLiteralCreator, 0, (word) RegisterRefLiteralImpl←P0, {0} }; static void NoName←Q576() { register ptr gf←c048 = (ptr) &globalframe; word var←c6384; (* (( (ptr) gf←c048)+10) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf←c048)+11) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string2); (* (( (ptr) gf←c048)+12) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string2); (* (( (ptr) gf←c048)+13) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string2); (* (( (ptr) gf←c048)+14) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7); (void) XR←DeclareGlobalFrame((word) "RegisterRefLiteralImpl", &globalframe, (word) XR←GetTypeIndex((word) &string8, 0, (word) &string9) , (word) (( (bPt) gf←c048)+120)/* var←c6000 */ ); var←c6384 = (word) XR←ImportInterface((word) "AtomPrivate", (word) XR←GetTypeIndexS((word) (&string10)), 2); (* (( (ptr) gf←c048)+33)/* var←c6352 */ ) = var←c6384; (void) XR←ImportProcS(var←c6384, 67371265); var←c6384 = (word) XR←ImportInterface((word) "ConvertUnsafe", (word) XR←GetTypeIndexS((word) (&string11)), 8); (* (( (ptr) gf←c048)+32)/* var←c6256 */ ) = var←c6384; (void) XR←ImportProcS(var←c6384, 67372289); (void) XR←ImportProcS(var←c6384, 67372033); var←c6384 = (word) XR←ExportInterface((word) "RegisterRefLiteral", (word) XR←GetTypeIndexS((word) (&string12)), 3); (* (( (ptr) gf←c048)+34)/* var←c6416 */ ) = var←c6384; (void) XR←ExportVar(var←c6384, 0, (word) (( (bPt) gf←c048)+60)/* var←c5744 */ ); (void) XR←ExportProcS(var←c6384, (word) (( (bPt) gf←c048)+112)/* var←c5968 */ , 524546); (void) XR←ExportProcS(var←c6384, (word) (( (bPt) gf←c048)+88)/* var←c5872 */ , 67633666); } static void RegisterRefLiteralImpl←P0(formal←c018, formal←c017) word formal←c018; word formal←c017; { register ptr gf←c6448 = (ptr) &globalframe; /* RegisterRefLiteralImpl: */ SOURCE(79, 1988) SOURCE(1903, 41) (void) XR←RegisterRefLiteralCreator((word) (( (bPt) gf←c6448)+72)/* var←c5808 */ , (* (( (ptr) gf←c6448)+10) )); SOURCE(1946, 41) (void) XR←RegisterRefLiteralCreator((word) (( (bPt) gf←c6448)+72)/* var←c5808 */ , (* (( (ptr) gf←c6448)+11) )); SOURCE(1989, 40) (void) XR←RegisterRefLiteralCreator((word) (( (bPt) gf←c6448)+80)/* var←c5840 */ , (* (( (ptr) gf←c6448)+12) )); SOURCE(2031, 36) (void) XR←RegisterRefLiteralCreator((word) (( (bPt) gf←c6448)+64)/* var←c5776 */ , (* (( (ptr) gf←c6448)+13) )); } extern void XR←RegisterRefLiteralCreator(p←v4268, type←v4296) word p←v4268; word type←v4296; { register ptr gf←c6480 = (ptr) &globalframe; /* RegisterType: */ SOURCE(631, 236) (void) (XR←MonitorEntry((word) (( (bPt) gf←c6480)+16)/* LOCK←v2580 */ )); SOURCE(708, 109) { register word l←v3632; l←v3632 = (* (( (ptr) gf←c6480)+8)/* tab←v2608 */ ); lab←L100003: ; if ((l←v3632 != 0)) { } else { goto lab←L100000; }; SOURCE(764, 53) if (((* (ptr) l←v3632 ) == type←v4296)) { SOURCE(793, 16) (* (( (ptr) l←v3632)+1) ) = XR←CheckProc(p←v4268); SOURCE(811, 6) (void) (XR←MonitorExit((word) (( (bPt) gf←c6480)+16)/* LOCK←v2580 */ )); return; }; l←v3632 = (* (( (ptr) l←v3632)+2) ); goto lab←L100003; lab←L100000: ; }; SOURCE(829, 38) { word var←c6032; var←c6032 = XR←NewObject(12, (* (( (ptr) gf←c6480)+14) )); (* (ptr) var←c6032 ) = type←v4296; (* (( (ptr) var←c6032)+1) ) = XR←CheckProc(p←v4268); (* (( (ptr) var←c6032)+2) ) = (* (( (ptr) gf←c6480)+8)/* tab←v2608 */ ); (* (( (ptr) gf←c6480)+8)/* tab←v2608 */ ) = var←c6032; }; SOURCE(631, 236) (void) (XR←MonitorExit((word) (( (bPt) gf←c6480)+16)/* LOCK←v2580 */ )); return; } static word Uninit←P120(string←v4356) word string←v4356; { word var←c4400; /* Uninit: */ SOURCE(873, 44) SOURCE(919, 5) (void) XR←RaiseUnnamedError(); } static void LookupType←P180(formal←c030, type←v3372) word formal←c030; word type←v3372; { register ptr gf←c6512 = (ptr) &globalframe; word found←v3416; word p←v3444; /* LookupType: */ SOURCE(930, 259) SOURCE(930, 259) p←v3444 = 0; SOURCE(1045, 111) { register word l←v3760; l←v3760 = (* (( (ptr) gf←c6512)+8)/* tab←v2608 */ ); lab←L100008: ; if ((l←v3760 != 0)) { } else { goto lab←L100005; }; SOURCE(1101, 55) if (((* (ptr) l←v3760 ) == type←v3372)) { SOURCE(1130, 26) p←v3444 = XR←CheckProc(* (( (ptr) l←v3760)+1) ); found←v3416 = 1; goto lab←L100004; }; l←v3760 = (* (( (ptr) l←v3760)+2) ); goto lab←L100008; lab←L100005: ; }; SOURCE(1168, 21) found←v3416 = 0; p←v3444 = (word) (( (bPt) gf←c6512)+104)/* var←c5936 */ ; /* removed tail goto */ lab←L100004: ; (* (ptr) formal←c030 ) = found←v3416; (* (( (ptr) formal←c030)+1) ) = p←v3444; return; } extern word XR←GetRefLiteral(type←v4460, string←v4488) word type←v4460; word string←v4488; { register ptr gf←c6544 = (ptr) &globalframe; word var←c6160; W2 var←c6192; word var←c4532; word found←v3888; word p←v3916 = 0; /* Create: */ SOURCE(1278, 220) (void) (XR←MonitorEntry((word) (( (bPt) gf←c6544)+16)/* LOCK←v2580 */ )); SOURCE(1386, 29) { W2 var←c6096; (void) LookupType←P180((word) &var←c6096, type←v4460); p←v3916 = XR←CheckProc(var←c6096.f1); found←v3888 = var←c6096.f0; }; SOURCE(1417, 81) if ((0 != found←v3888)) { SOURCE(1431, 22) { word var←c6128; var←c6128 = (word) ( *( (fPt) ((* (ptr) p←v3916 ))))(string←v4488, p←v3916); (void) (XR←MonitorExit((word) (( (bPt) gf←c6544)+16)/* LOCK←v2580 */ )); return(var←c6128); }; } else { SOURCE(1455, 43) var←c6160 = (word) (( (bPt) gf←c6544)+60)/* var←c5744 */ ; (* (ptr) (word) &var←c6192 ) = type←v4460; (* (( (ptr) (word) &var←c6192) + 1) ) = string←v4488; (void) (XR←MonitorExit((word) (( (bPt) gf←c6544)+16)/* LOCK←v2580 */ )); goto lab←L100009; }; /* c2c skipped dead code */ lab←L100009: ; SOURCE(1455, 43) { W2 var←c041; var←c041 = var←c6192; (void) XR←RaiseError(var←c6160, (word) &var←c041); }; } static word CreateTEXT←P300(string←v4592) word string←v4592; { register ptr gf←c6576 = (ptr) &globalframe; word var←c4636; /* CreateTEXT: */ SOURCE(1507, 129) SOURCE(1565, 71) { word pd13; if ((string←v4592 == 0)) { return(0); } else { pd13 = (* (( (ptr) (* (( (ptr) gf←c6576)+32)/* var←c6256 */ ))+8) ); return((word) ( *( (fPt) ((* (ptr) pd13 ))))(string←v4592, pd13)); }; }; } static word CreateROPE←P360(string←v4696) word string←v4696; { register ptr gf←c6608 = (ptr) &globalframe; word var←c4740; /* CreateROPE: */ SOURCE(1640, 126) SOURCE(1698, 68) { word pd14; if ((string←v4696 == 0)) { return(0); } else { pd14 = (* (( (ptr) (* (( (ptr) gf←c6608)+32)/* var←c6256 */ ))+9) ); return((word) ( *( (fPt) ((* (ptr) pd14 ))))(string←v4696, pd14)); }; }; } static word CreateATOM←P420(string←v4800) word string←v4800; { register ptr gf←c6640 = (ptr) &globalframe; word var←c4844; /* CreateATOM: */ SOURCE(1770, 112) SOURCE(1828, 54) { word pd15; pd15 = (* (( (ptr) (* (( (ptr) gf←c6640)+33)/* var←c6352 */ ))+5) ); return((word) ( *( (fPt) ((* (ptr) pd15 ))))(string←v4800, pd15)); }; } /* file: RegisterRefLiteralImpl, module: RegisterRefLiteralImpl, compiled at: September 24, 1992 9:38:50 pm PDT */ extern void XR←install←RegisterRefLiteralImpl() { NoName←Q576(); } extern void XR←run←RegisterRefLiteralImpl() { XR←Start(&globalframe); }