/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */
/* time: March 3, 1992 1:09:41 pm PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: AtomImpl, module: AtomImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3077843471,1975398675] AtomImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {word f0, f1, f2;} W3;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
#define SOURCE(p, l) /* source p, l */
#define NCK(p) ( (void) p)
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static void NoName←Q2736();
static void AtomImpl←P0();
static word NewAtom←P60();
static word GetPName←P120();
static void SetLink←P240();
static word GetPropList←P300();
static void SetPropList←P360();
static word EmptyAtom←P420();
static word MakeAtom←P480();
static word NoName←Q2796();
static word UnsafeMakeAtom←P540();
static word NoName←Q2856();
static word UnsafeMakeAtomFromString←P600();
static word MakeAtomFromChar←P660();
static word MakeAtomFromChars←P720();
static word MakeAtomFromRefText←P780();
static word GetPropertyList←P840();
static word NoName←Q2916();
static void PutProp←P900();
static word NoName←Q2976();
static word PutPropOnList←P960();
static word NoName←Q3036();
static word PutPropInternal←P1020();
static word GetProp←P1080();
static word NoName←Q3096();
static word GetPropFromList←P1140();
static word NoName←Q3156();
static void RemProp←P1200();
static word NoName←Q3216();
static word RemPropFromList←P1260();
static word NoName←Q3276();
static word RemPropInternal←P1320();
static void MapAtoms←P1380();
static word FindAtom←P1440();
static word Next←P1500();
static word NoName←Q3336();
static void LookUpAtom←P1560();
static void InsertAtom←P1620();
static void Crash←P1740();
static void NoName←Q3396();
static void NoName←Q3456();
static void NoName←Q3516();
static void NoName←Q3576();
static void NoName←Q3636();
static void NoName←Q3696();
static void NoName←Q3756();
static void NoName←Q3816();
static void NoName←Q3876();
static void NoName←Q3936();
static struct {unsigned f; char r[12];} string1 = {524300, "\205\210\242\000\117\374\216\251\000\000\000"};
static struct {unsigned f; char r[8];} string2 = {393222, "\010\000\004O\375\001\000"};
static struct {unsigned f; char r[4];} string3 = {65540, "\251\000\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string5 = {1376277, "\007\000\001\002\007\020\001\002\000\007\036\002\004\003\002\004\014\016\015\003\001\000\000"};
static struct {unsigned f; char r[48];} string6 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\055\153\222\376\300\327\164\352\142\100\200\005\004\162\145\163\164\214\216\257\300\055\153\222\376\300\327\164\352\142\100\200\261\000\000\000"};
static struct {unsigned f; char r[4];} string7 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\200\000\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\267\164\052\017\300\165\276\061\023\100\164\000\000"};
static struct {unsigned f; char r[4];} string10 = {196611, "\004N\000"};
static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\070\313\200\317\300\150\067\321\062\100\150\000\000"};
static struct {unsigned f; char r[16];} string13 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\374\377\221\350\300\202\044\047\115\100\150\000\000"};
static struct {
word f0[26]; word f26; word f27; word f28;
word f29; word f30; word f31; word f32;
word f33; word f34; word f35; word f36;
word f37; word f38; word f39; word f40;
word f41; word f42; word f43; word f44;
word f45; word f46; word f47; word f48;
word f49; word f50; word f51; word f52;
word f53; word f54; word f55; word f56;
word f57; word f58; word f59; word f60;
word f61; word f62; word f63; word f64;
word f65; word f66; word f67; word f68;
word f69; word f70; word f71; word f72;
word f73; word f74; word f75; word f76;
word f77; word f78; word f79; word f80;
word f81[4];
} globalframe = {
{0}, (word) Crash←P1740, 0, (word) InsertAtom←P1620,
0, (word) LookUpAtom←P1560, 0, (word) Next←P1500,
0, (word) FindAtom←P1440, 0, (word) MapAtoms←P1380,
0, (word) RemPropInternal←P1320, 0, (word) RemPropFromList←P1260,
0, (word) RemProp←P1200, 0, (word) GetPropFromList←P1140,
0, (word) GetProp←P1080, 0, (word) PutPropInternal←P1020,
0, (word) PutPropOnList←P960, 0, (word) PutProp←P900,
0, (word) GetPropertyList←P840, 0, (word) MakeAtomFromRefText←P780,
0, (word) MakeAtomFromChars←P720, 0, (word) MakeAtomFromChar←P660,
0, (word) UnsafeMakeAtomFromString←P600, 0, (word) UnsafeMakeAtom←P540,
0, (word) MakeAtom←P480, 0, (word) EmptyAtom←P420,
0, (word) SetPropList←P360, 0, (word) GetPropList←P300,
0, (word) SetLink←P240, 0, (word) GetPName←P120,
0, (word) NewAtom←P60, 0, (word) AtomImpl←P0,
{0}
};
static void NoName←Q2736()
{
register ptr gf←c0236 = (ptr) &globalframe;
word var←c17408;
(* (( (ptr) gf←c0236)+14) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c0236)+17) ) = (word) XR←GetTypeIndexS((word) (&string3));
(* (( (ptr) gf←c0236)+18) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
(* (( (ptr) gf←c0236)+23) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
(* (( (ptr) gf←c0236)+24) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string7);
(void) XR←DeclareGlobalFrame((word) "AtomImpl", &globalframe, (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10)
, (word) (( (bPt) gf←c0236)+320)/* var←c16192 */ );
var←c17408 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string11)), 43);
(* (( (ptr) gf←c0236)+82)/* var←c16256 */ ) = var←c17408;
(void) XR←ImportProcS(var←c17408, 67378177);
(void) XR←ImportProcS(var←c17408, 67379457);
(void) XR←ImportProcS(var←c17408, 67901955);
(void) XR←ImportProcS(var←c17408, 67378689);
var←c17408 = (word) XR←ImportInterface((word) "RopeHash", (word) XR←GetTypeIndexS((word) (&string12)), 2);
(* (( (ptr) gf←c0236)+83)/* var←c17280 */ ) = var←c17408;
(void) XR←ImportProcS(var←c17408, 67633154);
var←c17408 = (word) XR←ExportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string13)), 16);
(* (( (ptr) gf←c0236)+84)/* var←c17440 */ ) = var←c17408;
(void) XR←ExportProcS(var←c17408, (word) (( (bPt) gf←c0236)+272)/* var←c16000 */ , 67108864);
(void) XR←ExportProcS(var←c17408, (word) (( (bPt) gf←c0236)+264)/* var←c15968 */ , 67895555);
(void) XR←ExportProcS(var←c17408, (word) (( (bPt) gf←c0236)+240)/* var←c15872 */ , 67371521);
(void) XR←ExportProcS(var←c17408, (word) (( (bPt) gf←c0236)+232)/* var←c15840 */ , 67371777);
(void) XR←ExportProcS(var←c17408, (word) (( (bPt) gf←c0236)+224)/* var←c15808 */ , 67372033);
(void) XR←ExportProcS(var←c17408, (word) (( (bPt) gf←c0236)+304)/* var←c16128 */ , 67372289);
(void) XR←ExportProcS(var←c17408, (word) (( (bPt) gf←c0236)+216)/* var←c15776 */ , 67372545);
(void) XR←ExportProcS(var←c17408, (word) (( (bPt) gf←c0236)+184)/* var←c15648 */ , 67634946);
(void) XR←ExportProcS(var←c17408, (word) (( (bPt) gf←c0236)+176)/* var←c15616 */ , 67635202);
(void) XR←ExportProcS(var←c17408, (word) (( (bPt) gf←c0236)+208)/* var←c15744 */ , 788739);
(void) XR←ExportProcS(var←c17408, (word) (( (bPt) gf←c0236)+200)/* var←c15712 */ , 67897859);
(void) XR←ExportProcS(var←c17408, (word) (( (bPt) gf←c0236)+168)/* var←c15584 */ , 527106);
(void) XR←ExportProcS(var←c17408, (word) (( (bPt) gf←c0236)+160)/* var←c15552 */ , 67636226);
(void) XR←ExportProcS(var←c17408, (word) (( (bPt) gf←c0236)+144)/* var←c15488 */ , 265473);
(void) XR←ExportProcS(var←c17408, (word) (( (bPt) gf←c0236)+136)/* var←c15456 */ , 67374593);
(void) XR←ExportVar(var←c17408, 15, (word) (( (bPt) gf←c0236)+100)/* var←c15296 */ );
var←c17408 = (word) XR←ExportInterface((word) "AtomPrivate", (word) XR←GetTypeIndexS((word) (&string14)), 2);
(* (( (ptr) gf←c0236)+84)/* var←c17440 */ ) = var←c17408;
(void) XR←ExportProcS(var←c17408, (word) (( (bPt) gf←c0236)+256)/* var←c15936 */ , 67371009);
(void) XR←ExportProcS(var←c17408, (word) (( (bPt) gf←c0236)+248)/* var←c15904 */ , 67371265);
}
static void AtomImpl←P0(formal←c060, formal←c059)
word formal←c060;
word formal←c059;
{
register ptr gf←c17472 = (ptr) &globalframe;
/* AtomImpl: */
SOURCE(343, 7778)
SOURCE(571, 81)
(* (( (ptr) gf←c17472)+8)/* typeOfATOMReferent←v2832 */ ) = (word) XR←GetTypeIndex((word) &string3, 0, 0);
SOURCE(975, 57)
(* (( (ptr) gf←c17472)+9)/* atomDictionary←v3056 */ ) = XR←NewObject(16372, (* (( (ptr) gf←c17472)+14) ));
SOURCE(1071, 38)
{
word pd15;
pd15 = (* (( (ptr) (* (( (ptr) gf←c17472)+82)/* var←c16256 */ ))+34) );
(* (( (ptr) gf←c17472)+10)/* emptyRope←v3112 */ ) = (word) ( *( (fPt) ((* (ptr) pd15 ))))(0, pd15);
};
SOURCE(8088, 33)
(* (( (ptr) gf←c17472)+11)/* emptyAtom←v3140 */ ) = (word) MakeAtom←P480((* (( (ptr) gf←c17472)+10)/* emptyRope←v3112 */ ), 0, 2147483647)
;
}
static word NewAtom←P60(pName←v4488)
word pName←v4488;
{
register ptr gf←c17504 = (ptr) &globalframe;
word atom←v4548;
/* NewAtom: */
SOURCE(1308, 215)
SOURCE(1308, 215)
atom←v4548 = 0;
SOURCE(1360, 98)
atom←v4548 = XR←Narrow((word) XR←NewObject(12, (* (( (ptr) gf←c17504)+8)/* typeOfATOMReferent←v2832 */ )), (* (( (ptr) gf←c17504)+17)
));
SOURCE(1468, 55)
SOURCE(1470, 53)
{
word var←c16288;
{
word var←c16320;
var←c16320 = XR←Narrow(pName←v4488, (* (( (ptr) gf←c17504)+18) ));
if ((var←c16320 == 0)) {
goto lab←L100000;
};
{
word tc16;
if (((*(int*)var←c16320<0) == 0)) {
tc16 = (word) ((*(( short *)var←c16320 + 1)<0) == 0);
}
else {
tc16 = (word) 0;
};
if (tc16) {
goto lab←L100000;
};
};
(void) XR←RaiseError(XR←NarrowFault, 0);
lab←L100000: ;
var←c16288 = var←c16320;
};
(* (ptr) atom←v4548 ) = var←c16288;
(* (( (ptr) atom←v4548)+1) ) = 0;
(* (( (ptr) atom←v4548)+2) ) = 0;
};
SOURCE(1308, 215)
return(atom←v4548);
}
static word GetPName←P120(atom←v4608)
word atom←v4608;
{
register ptr gf←c17536 = (ptr) &globalframe;
word var←c4652;
/* GetPName: */
SOURCE(1530, 148)
SOURCE(1597, 37)
if ((atom←v4608 == 0)) {
SOURCE(1616, 18)
(void) XR←RaiseError((word) (( (bPt) gf←c17536)+100)/* var←c15296 */ , 0);
};
SOURCE(1636, 42)
return((* (ptr) atom←v4608 ));
}
static void SetLink←P240(atom←v4816, link←v4844)
word atom←v4816;
word link←v4844;
{
/* SetLink: */
SOURCE(1797, 98)
SOURCE(1857, 38)
(* (( (ptr) atom←v4816)+2) ) = link←v4844;
}
static word GetPropList←P300(atom←v4904)
word atom←v4904;
{
word var←c4948;
/* GetPropList: */
SOURCE(1901, 115)
SOURCE(1971, 45)
return((* (( (ptr) atom←v4904)+1) ));
}
static void SetPropList←P360(atom←v5020, propList←v5048)
word atom←v5020;
word propList←v5048;
{
/* SetPropList: */
SOURCE(2020, 119)
SOURCE(2092, 47)
(* (( (ptr) atom←v5020)+1) ) = propList←v5048;
}
static word EmptyAtom←P420()
{
register ptr gf←c17568 = (ptr) &globalframe;
word var←c5108;
/* EmptyAtom: */
SOURCE(2142, 60)
SOURCE(2184, 18)
return((* (( (ptr) gf←c17568)+11)/* emptyAtom←v3140 */ ));
}
static word MakeAtom←P480(formal←c0317, formal←c0318, formal←c0319)
word formal←c0317;
word formal←c0318;
word formal←c0319;
{
W8 var←c17600;
/* declaration of pName←v5168 skipped */
/* declaration of start←v5196 skipped */
/* declaration of len←v5224 skipped */
register ptr gf←c17632 = (ptr) &globalframe;
/* declaration of var←c01 skipped */
word var←c5268;
var←c17600.f4/* pName←v5168 */ = formal←c0317;
var←c17600.f5/* start←v5196 */ = formal←c0318;
var←c17600.f6/* len←v5224 */ = formal←c0319;
/* MakeAtom: */
SOURCE(2208, 433)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c17632)+16)/* LOCK←v2776 */ ));
SOURCE(2311, 330)
{
word var←c02;
{
word var←c0286;
var←c0286 = (word) &var←c17600;
var←c02 = (word) XR←Enable(( ((word) (fPt) NoName←Q2796) ), ( ((word) (fPt) NoName←Q3936) ), var←c0286);
};
/* removed trivial cond node */
};
return(var←c17600.f7/* var←c01 */ );
}
static word NoName←Q2796(formal←c0243)
word formal←c0243;
{
register ptr gf←c0242 = (ptr) &globalframe;
SOURCE(2337, 46)
{
word t←v8112;
word this←v8140 = 0;
word prev←v8168 = 0;
word hash←v8196 = 0;
SOURCE(2337, 46)
{
word pd17;
pd17 = (* (( (ptr) (* (( (ptr) gf←c0242)+82)/* var←c16256 */ ))+30) );
t←v8112 = (word) ( *( (fPt) ((* (ptr) pd17 ))))((* (( (ptr) formal←c0243)+4) ), (* (( (ptr) formal←c0243)+5) ), (* (( (ptr) formal←c0243)+6)
), pd17);
};
SOURCE(2462, 29)
if ((t←v8112 == 0)) {
SOURCE(2478, 13)
t←v8112 = (* (( (ptr) gf←c0242)+10)/* emptyRope←v3112 */ );
};
SOURCE(2493, 34)
{
W3 var←c16352;
(void) LookUpAtom←P1560((word) &var←c16352, t←v8112);
hash←v8196 = var←c16352.f2;
prev←v8168 = var←c16352.f1;
this←v8140 = var←c16352.f0;
};
SOURCE(2529, 93)
if ((this←v8140 == 0)) {
SOURCE(2550, 24)
this←v8140 = (word) NewAtom←P60(t←v8112);
SOURCE(2576, 46)
(void) InsertAtom←P1620(this←v8140, prev←v8168, hash←v8196);
};
SOURCE(2627, 14)
(void) (XR←MonitorExit((word) (( (bPt) gf←c0242)+16)/* LOCK←v2776 */ ));
(* (( (ptr) formal←c0243)+7) ) = this←v8140;
return(1);
};
/* c2c skipped dead code */
}
static word UnsafeMakeAtom←P540(formal←c0320)
word formal←c0320;
{
W6 var←c17664;
/* declaration of pName←v5328 skipped */
register ptr gf←c17696 = (ptr) &globalframe;
/* declaration of var←c03 skipped */
word var←c5372;
var←c17664.f4/* pName←v5328 */ = formal←c0320;
/* UnsafeMakeAtom: */
SOURCE(2645, 592)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c17696)+16)/* LOCK←v2776 */ ));
SOURCE(2733, 504)
{
word var←c04;
{
word var←c0287;
var←c0287 = (word) &var←c17664;
var←c04 = (word) XR←Enable(( ((word) (fPt) NoName←Q2856) ), ( ((word) (fPt) NoName←Q3876) ), var←c0287);
};
/* removed trivial cond node */
};
return(var←c17664.f5/* var←c03 */ );
}
static word NoName←Q2856(formal←c0246)
word formal←c0246;
{
register ptr gf←c0245 = (ptr) &globalframe;
SOURCE(2759, 16)
{
word this←v8240 = 0;
word prev←v8268 = 0;
word hash←v8296;
SOURCE(2805, 38)
if (((* (( (ptr) formal←c0246)+4) ) == 0)) {
SOURCE(2825, 18)
{
word var←c16384;
var←c16384 = (* (( (ptr) gf←c0245)+11)/* emptyAtom←v3140 */ );
(void) (XR←MonitorExit((word) (( (bPt) gf←c0245)+16)/* LOCK←v2776 */ ));
(* (( (ptr) formal←c0246)+5) ) = var←c16384;
return(1);
};
};
SOURCE(2845, 59)
{
W3 var←c16416;
(void) LookUpAtom←P1560((word) &var←c16416, (* (( (ptr) formal←c0246)+4) ));
hash←v8296 = var←c16416.f2;
prev←v8268 = var←c16416.f1;
this←v8240 = var←c16416.f0;
};
SOURCE(2906, 312)
if ((this←v8240 == 0)) {
SOURCE(2925, 295)
{
word rt←v8340;
SOURCE(2927, 42)
{
word pd18;
pd18 = (* (( (ptr) (* (( (ptr) gf←c0245)+82)/* var←c16256 */ ))+34) );
rt←v8340 = (word) ( *( (fPt) ((* (ptr) pd18 ))))((* (hPt) (* (( (ptr) formal←c0246)+4) ) ), pd18);
};
SOURCE(2971, 172)
(void) Basics←CopyBytes((rt←v8340 + 4), 0, ((* (( (ptr) formal←c0246)+4) ) + 4), 0, (* (hPt) (* (( (ptr) formal←c0246)+4)
) ));
SOURCE(3145, 25)
this←v8240 = (word) NewAtom←P60(rt←v8340);
SOURCE(3172, 46)
(void) InsertAtom←P1620(this←v8240, prev←v8268, hash←v8296);
};
};
SOURCE(3223, 14)
(void) (XR←MonitorExit((word) (( (bPt) gf←c0245)+16)/* LOCK←v2776 */ ));
(* (( (ptr) formal←c0246)+5) ) = this←v8240;
return(1);
};
/* c2c skipped dead code */
}
static word UnsafeMakeAtomFromString←P600(pName←v5432)
word pName←v5432;
{
word var←c5476;
/* UnsafeMakeAtomFromString: */
SOURCE(3241, 129)
SOURCE(3331, 39)
return((word) UnsafeMakeAtom←P540(pName←v5432));
}
static word MakeAtomFromChar←P660(char←v5536)
word char←v5536;
{
register ptr gf←c17728 = (ptr) &globalframe;
word var←c5580;
/* MakeAtomFromChar: */
SOURCE(3376, 100)
SOURCE(3438, 38)
{
word var←c16512;
{
word pd19;
pd19 = (* (( (ptr) (* (( (ptr) gf←c17728)+82)/* var←c16256 */ ))+37) );
var←c16512 = (word) ( *( (fPt) ((* (ptr) pd19 ))))(char←v5536, pd19);
};
return((word) MakeAtom←P480(var←c16512, 0, 2147483647));
};
}
static word MakeAtomFromChars←P720(genChars←v5640)
word genChars←v5640;
{
register ptr gf←c17760 = (ptr) &globalframe;
word var←c5804;
/* MakeAtomFromChars: */
SOURCE(3482, 124)
SOURCE(3563, 43)
{
word var←c16576;
{
word pd20;
pd20 = (* (( (ptr) (* (( (ptr) gf←c17760)+82)/* var←c16256 */ ))+32) );
var←c16576 = (word) ( *( (fPt) ((* (ptr) pd20 ))))(genChars←v5640, pd20);
};
return((word) MakeAtom←P480(var←c16576, 0, 2147483647));
};
}
static word MakeAtomFromRefText←P780(rt←v5864)
word rt←v5864;
{
word var←c5920;
/* MakeAtomFromRefText: */
SOURCE(3612, 122)
SOURCE(3696, 38)
return((word) UnsafeMakeAtom←P540(rt←v5864));
}
static word GetPropertyList←P840(formal←c0321)
word formal←c0321;
{
W6 var←c17792;
/* declaration of atom←v5980 skipped */
register ptr gf←c17824 = (ptr) &globalframe;
/* declaration of var←c05 skipped */
word var←c6024;
var←c17792.f4/* atom←v5980 */ = formal←c0321;
/* GetPropertyList: */
SOURCE(3738, 197)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c17824)+16)/* LOCK←v2776 */ ));
SOURCE(3738, 197)
var←c6024 = 0;
SOURCE(3816, 119)
{
word var←c06;
{
word var←c0288;
var←c0288 = (word) &var←c17792;
var←c06 = (word) XR←Enable(( ((word) (fPt) NoName←Q2916) ), ( ((word) (fPt) NoName←Q3816) ), var←c0288);
};
if ((var←c06 == 1)) {
goto lab←L06;
};
};
SOURCE(3738, 197)
(void) (XR←MonitorExit((word) (( (bPt) gf←c17824)+16)/* LOCK←v2776 */ ));
return(var←c6024);
lab←L06: ;
return(var←c17792.f5/* var←c05 */ );
}
static word NoName←Q2916(formal←c0251)
word formal←c0251;
{
register ptr gf←c0250 = (ptr) &globalframe;
SOURCE(3842, 93)
if (((* (( (ptr) formal←c0251)+4) ) != 0)) {
SOURCE(3861, 74)
{
word var←c16640;
var←c16640 = (word) GetPropList←P300((* ((( (ptr) formal←c0251)+4)) ));
if ((var←c16640 == 0)) {
goto lab←L100007;
};
if (((* (( (ptr) gf←c0250)+23) ) == XR←GetReferentType(var←c16640))) {
{
word propList←v8384;
propList←v8384 = var←c16640;
SOURCE(3918, 17)
(void) (XR←MonitorExit((word) (( (bPt) gf←c0250)+16)/* LOCK←v2776 */ ));
(* (( (ptr) formal←c0251)+5) ) = propList←v8384;
return(1);
};
}
else {
lab←L100007: ;
};
};
};
return(0);
}
static void PutProp←P900(formal←c0322, formal←c0323, formal←c0324)
word formal←c0322;
word formal←c0323;
word formal←c0324;
{
W8 var←c17856;
/* declaration of atom←v6084 skipped */
/* declaration of prop←v6112 skipped */
/* declaration of val←v6140 skipped */
register ptr gf←c17888 = (ptr) &globalframe;
/* declaration of var←c16672 skipped */
var←c17856.f4/* atom←v6084 */ = formal←c0322;
var←c17856.f5/* prop←v6112 */ = formal←c0323;
var←c17856.f6/* val←v6140 */ = formal←c0324;
/* PutProp: */
SOURCE(3950, 223)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c17888)+16)/* LOCK←v2776 */ ));
SOURCE(4016, 157)
{
word var←c07;
{
word var←c0289;
var←c0289 = (word) &var←c17856;
var←c07 = (word) XR←Enable(( ((word) (fPt) NoName←Q2976) ), ( ((word) (fPt) NoName←Q3756) ), var←c0289);
};
if ((var←c07 == 2)) {
goto lab←L100010;
};
};
SOURCE(3950, 223)
(void) (XR←MonitorExit((word) (( (bPt) gf←c17888)+16)/* LOCK←v2776 */ ));
return;
/* c2c skipped dead code */
lab←L100010: ;
SOURCE(4061, 30)
(void) XR←RaiseError(var←c17856.f7/* var←c16672 */ , 0);
}
static word NoName←Q2976(formal←c0254)
word formal←c0254;
{
register ptr gf←c0253 = (ptr) &globalframe;
SOURCE(4042, 49)
if (((* (( (ptr) formal←c0254)+4) ) == 0)) {
SOURCE(4061, 30)
(* (( (ptr) formal←c0254)+7) ) = (word) (( (bPt) gf←c0253)+100)/* var←c15296 */ ;
(void) (XR←MonitorExit((word) (( (bPt) gf←c0253)+16)/* LOCK←v2776 */ ));
return(2);
};
SOURCE(4093, 80)
{
word var←c16704;
{
word var←c16736;
var←c16736 = (word) GetPropList←P300((* ((( (ptr) formal←c0254)+4)) ));
var←c16704 = (word) PutPropInternal←P1020(var←c16736, (* (( (ptr) formal←c0254)+5) ), (* (( (ptr) formal←c0254)+6) ));
};
(void) SetPropList←P360((* (( (ptr) formal←c0254)+4) ), var←c16704);
};
return(0);
}
static word PutPropOnList←P960(formal←c0325, formal←c0326, formal←c0327)
word formal←c0325;
word formal←c0326;
word formal←c0327;
{
W8 var←c17920;
/* declaration of propList←v6224 skipped */
/* declaration of prop←v6252 skipped */
/* declaration of val←v6280 skipped */
register ptr gf←c17952 = (ptr) &globalframe;
/* declaration of var←c08 skipped */
word var←c6348;
var←c17920.f4/* propList←v6224 */ = formal←c0325;
var←c17920.f5/* prop←v6252 */ = formal←c0326;
var←c17920.f6/* val←v6280 */ = formal←c0327;
/* PutPropOnList: */
SOURCE(4179, 170)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c17952)+16)/* LOCK←v2776 */ ));
SOURCE(4278, 71)
{
word var←c09;
{
word var←c0290;
var←c0290 = (word) &var←c17920;
var←c09 = (word) XR←Enable(( ((word) (fPt) NoName←Q3036) ), ( ((word) (fPt) NoName←Q3696) ), var←c0290);
};
/* removed trivial cond node */
};
return(var←c17920.f7/* var←c08 */ );
}
static word NoName←Q3036(formal←c0257)
word formal←c0257;
{
register ptr gf←c0256 = (ptr) &globalframe;
SOURCE(4304, 45)
{
word var←c16768;
var←c16768 = (word) PutPropInternal←P1020((* (( (ptr) formal←c0257)+4) ), (* (( (ptr) formal←c0257)+5) ), (* (( (ptr) formal←c0257)+6)
));
(void) (XR←MonitorExit((word) (( (bPt) gf←c0256)+16)/* LOCK←v2776 */ ));
(* (( (ptr) formal←c0257)+7) ) = var←c16768;
return(1);
};
/* c2c skipped dead code */
}
static word PutPropInternal←P1020(ref←v6408, prop←v6436, val←v6464)
word ref←v6408;
word prop←v6436;
word val←v6464;
{
register ptr gf←c17984 = (ptr) &globalframe;
word var←c6544;
word propList←v8428 = 0;
word lst←v8456 = 0;
word lag←v8484 = 0;
/* PutPropInternal: */
SOURCE(4355, 517)
SOURCE(4510, 228)
{
word var←c16800;
var←c16800 = ref←v6408;
if ((var←c16800 == 0)) {
goto lab←L100014;
};
if (((* (( (ptr) gf←c17984)+23) ) == XR←GetReferentType(var←c16800))) {
{
word pl←v8528;
pl←v8528 = var←c16800;
SOURCE(4549, 19)
lst←v8456 = pl←v8528;
propList←v8428 = pl←v8528;
SOURCE(4570, 118)
lab←L100017: ;
if ((lst←v8456 != 0)) {
}
else {
goto lab←L100015;
};
SOURCE(4589, 69)
if (((* (ptr) (* (ptr) lst←v8456 ) ) == prop←v6436)) {
SOURCE(4620, 19)
(* (( (ptr) (* (ptr) lst←v8456 ))+1) ) = val←v6464;
SOURCE(4641, 17)
return(propList←v8428);
};
SOURCE(4663, 9)
lag←v8484 = lst←v8456;
SOURCE(4674, 14)
lst←v8456 = (* (( (ptr) lst←v8456)+1) );
goto lab←L100017;
lab←L100015: ;
};
}
else {
lab←L100014: ;
SOURCE(4713, 25)
if ((ref←v6408 != 0)) {
SOURCE(4731, 7)
(void) Crash←P1740();
};
};
};
SOURCE(4740, 65)
{
word var←c16864;
word var←c16928;
{
word var←c16896;
var←c16896 = XR←NewObject(8, (* (( (ptr) gf←c17984)+24) ));
(* (ptr) var←c16896 ) = prop←v6436;
(* (( (ptr) var←c16896)+1) ) = val←v6464;
var←c16864 = var←c16896;
};
var←c16928 = XR←NewObject(8, (* (( (ptr) gf←c17984)+23) ));
(* (ptr) var←c16928 ) = var←c16864;
lst←v8456 = var←c16928;
};
SOURCE(4807, 30)
if ((lag←v8484 == 0)) {
SOURCE(4825, 12)
return(lst←v8456);
};
SOURCE(4839, 14)
(* (( (ptr) lag←v8484)+1) ) = lst←v8456;
SOURCE(4855, 17)
return(propList←v8428);
}
static word GetProp←P1080(formal←c0328, formal←c0329)
word formal←c0328;
word formal←c0329;
{
W7 var←c18016;
/* declaration of atom←v6604 skipped */
/* declaration of prop←v6632 skipped */
register ptr gf←c18048 = (ptr) &globalframe;
/* declaration of var←c010 skipped */
word var←c6688;
var←c18016.f4/* atom←v6604 */ = formal←c0328;
var←c18016.f5/* prop←v6632 */ = formal←c0329;
/* GetProp: */
SOURCE(4878, 259)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c18048)+16)/* LOCK←v2776 */ ));
SOURCE(4878, 259)
var←c6688 = 0;
SOURCE(4953, 184)
{
word var←c011;
{
word var←c0291;
var←c0291 = (word) &var←c18016;
var←c011 = (word) XR←Enable(( ((word) (fPt) NoName←Q3096) ), ( ((word) (fPt) NoName←Q3636) ), var←c0291);
};
if ((var←c011 == 1)) {
goto lab←L011;
};
};
SOURCE(4878, 259)
(void) (XR←MonitorExit((word) (( (bPt) gf←c18048)+16)/* LOCK←v2776 */ ));
return(var←c6688);
lab←L011: ;
return(var←c18016.f6/* var←c010 */ );
}
static word NoName←Q3096(formal←c0261)
word formal←c0261;
{
register ptr gf←c0260 = (ptr) &globalframe;
SOURCE(4979, 158)
if (((* (( (ptr) formal←c0261)+4) ) != 0)) {
SOURCE(4999, 138)
{
word var←c16960;
var←c16960 = (word) GetPropList←P300((* ((( (ptr) formal←c0261)+4)) ));
if ((var←c16960 == 0)) {
goto lab←L100020;
};
if (((* (( (ptr) gf←c0260)+23) ) == XR←GetReferentType(var←c16960))) {
{
word lst←v8572;
lst←v8572 = var←c16960;
SOURCE(5051, 86)
lab←L100023: ;
if ((lst←v8572 != 0)) {
}
else {
goto lab←L100021;
};
SOURCE(5070, 51)
if (((* (ptr) (* (ptr) lst←v8572 ) ) == (* (( (ptr) formal←c0261)+5) ))) {
SOURCE(5099, 22)
{
word var←c16992;
var←c16992 = (* (( (ptr) (* (ptr) lst←v8572 ))+1) );
(void) (XR←MonitorExit((word) (( (bPt) gf←c0260)+16)/* LOCK←v2776 */ ));
(* (( (ptr) formal←c0261)+6) ) = var←c16992;
return(1);
};
};
SOURCE(5123, 14)
lst←v8572 = (* (( (ptr) lst←v8572)+1) );
goto lab←L100023;
lab←L100021: ;
};
}
else {
lab←L100020: ;
};
};
};
return(0);
}
static word GetPropFromList←P1140(formal←c0330, formal←c0331)
word formal←c0330;
word formal←c0331;
{
W7 var←c18080;
/* declaration of propList←v6760 skipped */
/* declaration of prop←v6788 skipped */
register ptr gf←c18112 = (ptr) &globalframe;
/* declaration of var←c012 skipped */
word var←c6844;
var←c18080.f4/* propList←v6760 */ = formal←c0330;
var←c18080.f5/* prop←v6788 */ = formal←c0331;
/* GetPropFromList: */
SOURCE(5161, 226)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c18112)+16)/* LOCK←v2776 */ ));
SOURCE(5161, 226)
var←c6844 = 0;
SOURCE(5252, 135)
{
word var←c013;
{
word var←c0292;
var←c0292 = (word) &var←c18080;
var←c013 = (word) XR←Enable(( ((word) (fPt) NoName←Q3156) ), ( ((word) (fPt) NoName←Q3576) ), var←c0292);
};
if ((var←c013 == 1)) {
goto lab←L013;
};
};
SOURCE(5161, 226)
(void) (XR←MonitorExit((word) (( (bPt) gf←c18112)+16)/* LOCK←v2776 */ ));
return(var←c6844);
lab←L013: ;
return(var←c18080.f6/* var←c012 */ );
}
static word NoName←Q3156(formal←c0264)
word formal←c0264;
{
register ptr gf←c0263 = (ptr) &globalframe;
SOURCE(5278, 109)
{
register word lst←v8616;
lst←v8616 = (* (( (ptr) formal←c0264)+4) );
lab←L100029: ;
if ((lst←v8616 != 0)) {
}
else {
goto lab←L100026;
};
SOURCE(5336, 51)
if (((* (ptr) (* (ptr) lst←v8616 ) ) == (* (( (ptr) formal←c0264)+5) ))) {
SOURCE(5365, 22)
{
word var←c17024;
var←c17024 = (* (( (ptr) (* (ptr) lst←v8616 ))+1) );
(void) (XR←MonitorExit((word) (( (bPt) gf←c0263)+16)/* LOCK←v2776 */ ));
(* (( (ptr) formal←c0264)+6) ) = var←c17024;
return(1);
};
};
lst←v8616 = (* (( (ptr) lst←v8616)+1) );
goto lab←L100029;
lab←L100026: ;
};
return(0);
}
static void RemProp←P1200(formal←c0332, formal←c0333)
word formal←c0332;
word formal←c0333;
{
W6 var←c18144;
/* declaration of atom←v6916 skipped */
/* declaration of prop←v6944 skipped */
register ptr gf←c18176 = (ptr) &globalframe;
var←c18144.f4/* atom←v6916 */ = formal←c0332;
var←c18144.f5/* prop←v6944 */ = formal←c0333;
/* RemProp: */
SOURCE(5402, 159)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c18176)+16)/* LOCK←v2776 */ ));
SOURCE(5457, 104)
{
word var←c0293;
var←c0293 = (word) &var←c18144;
(void) (word) XR←Enable(( ((word) (fPt) NoName←Q3216) ), ( ((word) (fPt) NoName←Q3516) ), var←c0293);
};
SOURCE(5402, 159)
(void) (XR←MonitorExit((word) (( (bPt) gf←c18176)+16)/* LOCK←v2776 */ ));
return;
}
static word NoName←Q3216(formal←c0266)
word formal←c0266;
{
SOURCE(5483, 78)
if (((* (( (ptr) formal←c0266)+4) ) != 0)) {
SOURCE(5502, 59)
{
word var←c17056;
{
word var←c17088;
var←c17088 = (word) GetPropList←P300((* ((( (ptr) formal←c0266)+4)) ));
var←c17056 = (word) RemPropInternal←P1320(var←c17088, (* (( (ptr) formal←c0266)+5) ));
};
(void) SetPropList←P360((* (( (ptr) formal←c0266)+4) ), var←c17056);
};
};
return(0);
}
static word RemPropFromList←P1260(formal←c0334, formal←c0335)
word formal←c0334;
word formal←c0335;
{
W7 var←c18208;
/* declaration of propList←v7016 skipped */
/* declaration of prop←v7044 skipped */
register ptr gf←c18240 = (ptr) &globalframe;
/* declaration of var←c014 skipped */
word var←c7100;
var←c18208.f4/* propList←v7016 */ = formal←c0334;
var←c18208.f5/* prop←v7044 */ = formal←c0335;
/* RemPropFromList: */
SOURCE(5567, 156)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c18240)+16)/* LOCK←v2776 */ ));
SOURCE(5657, 66)
{
word var←c015;
{
word var←c0294;
var←c0294 = (word) &var←c18208;
var←c015 = (word) XR←Enable(( ((word) (fPt) NoName←Q3276) ), ( ((word) (fPt) NoName←Q3456) ), var←c0294);
};
/* removed trivial cond node */
};
return(var←c18208.f6/* var←c014 */ );
}
static word NoName←Q3276(formal←c0269)
word formal←c0269;
{
register ptr gf←c0268 = (ptr) &globalframe;
SOURCE(5683, 40)
{
word var←c17120;
var←c17120 = (word) RemPropInternal←P1320((* (( (ptr) formal←c0269)+4) ), (* (( (ptr) formal←c0269)+5) ));
(void) (XR←MonitorExit((word) (( (bPt) gf←c0268)+16)/* LOCK←v2776 */ ));
(* (( (ptr) formal←c0269)+6) ) = var←c17120;
return(1);
};
/* c2c skipped dead code */
}
static word RemPropInternal←P1320(ref←v7160, prop←v7188)
word ref←v7160;
word prop←v7188;
{
register ptr gf←c18272 = (ptr) &globalframe;
word var←c7256;
/* RemPropInternal: */
SOURCE(5729, 372)
SOURCE(5729, 372)
var←c7256 = 0;
SOURCE(5811, 290)
{
word var←c17152;
var←c17152 = ref←v7160;
if ((var←c17152 == 0)) {
goto lab←L100034;
};
if (((* (( (ptr) gf←c18272)+23) ) == XR←GetReferentType(var←c17152))) {
{
word propList←v8660;
propList←v8660 = var←c17152;
SOURCE(5854, 249)
{
word lst←v8704;
word lag←v8732 = 0;
SOURCE(5856, 24)
lst←v8704 = propList←v8660;
SOURCE(5903, 170)
lab←L100037: ;
if ((lst←v8704 != 0)) {
}
else {
goto lab←L100035;
};
{
word rest←v8776;
SOURCE(5922, 25)
rest←v8776 = (* (( (ptr) lst←v8704)+1) );
SOURCE(5949, 98)
if (((* (ptr) (* (ptr) lst←v8704 ) ) == prop←v7188)) {
SOURCE(5980, 31)
if ((lag←v8732 == 0)) {
SOURCE(5998, 13)
return(rest←v8776);
};
SOURCE(6013, 15)
(* (( (ptr) lag←v8732)+1) ) = rest←v8776;
SOURCE(6030, 17)
return(propList←v8660);
};
SOURCE(6052, 9)
lag←v8732 = lst←v8704;
SOURCE(6063, 10)
lst←v8704 = rest←v8776;
};
goto lab←L100037;
lab←L100035: ;
SOURCE(6084, 17)
return(propList←v8660);
};
};
}
else {
lab←L100034: ;
};
};
SOURCE(5729, 372)
return(var←c7256);
}
static void MapAtoms←P1380(proc←v7316)
word proc←v7316;
{
/* MapAtoms: */
SOURCE(6120, 121)
SOURCE(6172, 69)
{
register word atom←v8820;
atom←v8820 = (word) Next←P1500(0);
lab←L100041: ;
if ((atom←v8820 != 0)) {
}
else {
goto lab←L100038;
};
SOURCE(6231, 10)
(void) ( *( (fPt) ((* (ptr) proc←v7316 ))))(atom←v8820, proc←v7316);
atom←v8820 = (word) Next←P1500(atom←v8820);
goto lab←L100041;
lab←L100038: ;
};
}
static word FindAtom←P1440(proc←v7436)
word proc←v7436;
{
word var←c7584;
/* FindAtom: */
SOURCE(6256, 228)
SOURCE(6370, 91)
{
register word atom←v8864;
atom←v8864 = (word) Next←P1500(0);
lab←L100045: ;
if ((atom←v8864 != 0)) {
}
else {
goto lab←L100042;
};
SOURCE(6429, 32)
if ((0 != (word) ( *( (fPt) ((* (ptr) proc←v7436 ))))(atom←v8864, proc←v7436))) {
SOURCE(6448, 13)
return(atom←v8864);
};
atom←v8864 = (word) Next←P1500(atom←v8864);
goto lab←L100045;
lab←L100042: ;
};
SOURCE(6472, 12)
return(0);
}
static word Next←P1500(formal←c0336)
word formal←c0336;
{
W7 var←c18304;
/* declaration of atom←v7644 skipped */
register ptr gf←c18336 = (ptr) &globalframe;
/* declaration of var←c016 skipped */
/* declaration of rtn←v7688 skipped */
var←c18304.f4/* atom←v7644 */ = formal←c0336;
/* Next: */
SOURCE(6490, 340)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c18336)+16)/* LOCK←v2776 */ ));
SOURCE(6490, 340)
var←c18304.f6/* rtn←v7688 */ = 0;
SOURCE(6564, 266)
{
word var←c017;
{
word var←c0295;
var←c0295 = (word) &var←c18304;
var←c017 = (word) XR←Enable(( ((word) (fPt) NoName←Q3336) ), ( ((word) (fPt) NoName←Q3396) ), var←c0295);
};
if ((var←c017 == 1)) {
goto lab←L018;
};
};
SOURCE(6490, 340)
(void) (XR←MonitorExit((word) (( (bPt) gf←c18336)+16)/* LOCK←v2776 */ ));
return(var←c18304.f6/* rtn←v7688 */ );
lab←L018: ;
return(var←c18304.f5/* var←c016 */ );
}
static word NoName←Q3336(formal←c0273)
word formal←c0273;
{
register ptr gf←c0272 = (ptr) &globalframe;
SOURCE(6590, 18)
{
word hash←v8908 = 0;
if (((* (( (ptr) formal←c0273)+4) ) == 0)) {
}
else {
if (((* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+2) ) != 0)) {
SOURCE(6668, 22)
{
word var←c17184;
var←c17184 = (* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+2) );
(void) (XR←MonitorExit((word) (( (bPt) gf←c0272)+16)/* LOCK←v2776 */ ));
(* (( (ptr) formal←c0273)+5) ) = var←c17184;
return(1);
};
}
else {
SOURCE(6703, 31)
{
word var←c17216;
word s←v15248;
s←v15248 = (word) GetPName←P120((* ((( (ptr) formal←c0273)+4)) ));
SOURCE(7941, 55)
{
word pd21;
pd21 = (* (( (ptr) (* (( (ptr) gf←c0272)+83)/* var←c17280 */ ))+4) );
var←c17216 = ((word) ( *( (fPt) ((* (ptr) pd21 ))))(s←v15248, 31415, pd21) % 4093);
};
hash←v8908 = (var←c17216 + 1);
};
};
};
SOURCE(6736, 94)
lab←L100051: ;
if ((hash←v8908 < 4093)) {
}
else {
goto lab←L100049;
};
SOURCE(6761, 26)
{
word x22;
(* (( (ptr) formal←c0273)+6) ) = (* (( (ptr) (
x22 = (* (( (ptr) gf←c0272)+9)/* atomDictionary←v3056 */ ),
NCK((* (bPt) x22 )),
x22
))+BCK(hash←v8908, 4093)) );
};
SOURCE(6789, 24)
if (((* (( (ptr) formal←c0273)+6) ) != 0)) {
SOURCE(6807, 6)
(void) (XR←MonitorExit((word) (( (bPt) gf←c0272)+16)/* LOCK←v2776 */ ));
(* (( (ptr) formal←c0273)+5) ) = (* (( (ptr) formal←c0273)+6) );
return(1);
};
SOURCE(6815, 15)
hash←v8908 = (hash←v8908 + 1);
goto lab←L100051;
lab←L100049: ;
};
return(0);
}
static void LookUpAtom←P1560(formal←c0182, s←v7748)
word formal←c0182;
word s←v7748;
{
register ptr gf←c18368 = (ptr) &globalframe;
register word atom←v7792;
word prev←v7820;
word hash←v7848;
word len←v8952;
/* LookUpAtom: */
SOURCE(6845, 698)
SOURCE(6845, 698)
atom←v7792 = 0;
SOURCE(6845, 698)
prev←v7820 = 0;
SOURCE(6970, 24)
len←v8952 = ( (((unsigned)(* (hPt) s←v7748 ) << 17) >> 17) );
SOURCE(6996, 14)
{
word pd23;
pd23 = (* (( (ptr) (* (( (ptr) gf←c18368)+83)/* var←c17280 */ ))+4) );
hash←v7848 = ((word) ( *( (fPt) ((* (ptr) pd23 ))))(s←v7748, 31415, pd23) % 4093);
};
SOURCE(7012, 531)
{
word x24;
atom←v7792 = (* (( (ptr) (
x24 = (* (( (ptr) gf←c18368)+9)/* atomDictionary←v3056 */ ),
NCK((* (bPt) x24 )),
x24
))+hash←v7848) );
};
lab←L100056: ;
if ((atom←v7792 != 0)) {
}
else {
goto lab←L100053;
};
{
word r←v8996;
SOURCE(7079, 29)
r←v8996 = (word) GetPName←P120(atom←v7792);
SOURCE(7110, 419)
if ((len←v8952 == ( (((unsigned)(* (hPt) r←v8996 ) << 17) >> 17) ))) {
SOURCE(7133, 396)
SOURCE(7135, 16)
{
word excess←v9040;
word lp←v9068;
word rp←v9096;
SOURCE(7153, 50)
lp←v9068 = (s←v7748 + 4);
SOURCE(7205, 50)
rp←v9096 = (r←v8996 + 4);
SOURCE(7257, 75)
{
register word i←v9140 = 0;
register word noName←c17312;
noName←c17312 = (len←v8952 >> 2);
if ((i←v9140 >= noName←c17312)) {
goto lab←L100058;
};
lab←L100061: ;
SOURCE(7310, 22)
if (((* (( (ptr) lp←v9068)+i←v9140) ) != (* (( (ptr) rp←v9096)+i←v9140) ))) {
SOURCE(7332, 14)
goto lab←L100057;
};
i←v9140 = (i←v9140 + 1);
if ((i←v9140 < noName←c17312)) {
goto lab←L100061;
};
lab←L100058: ;
};
SOURCE(7357, 36)
excess←v9040 = (len←v8952 & 3);
SOURCE(7395, 93)
lab←L100064: ;
if ((excess←v9040 != 0)) {
}
else {
goto lab←L100062;
};
{
word var←c17344;
word var←c0296;
word var←c17376;
SOURCE(7415, 38)
{
word limit26;
var←c17344 = (len←v8952 - excess←v9040);
{
word limit25;
var←c0296 = (word) (* ((( (bPt) s←v7748)+4)+(
limit25 = (word) ( (((unsigned)(* (( (hPt) s←v7748)+1) ) << 17) >> 17) ),
BCK(var←c17344, limit25)
)) );
};
var←c17376 = (len←v8952 - excess←v9040);
if ((var←c0296 != (word) (* ((( (bPt) r←v8996)+4)+(
limit26 = (word) ( (((unsigned)(* (( (hPt) r←v8996)+1) ) << 17) >> 17) ),
BCK(var←c17376, limit26)
)) ))) {
SOURCE(7453, 14)
goto lab←L100057;
};
};
SOURCE(7469, 19)
excess←v9040 = (excess←v9040 - 1);
};
goto lab←L100064;
lab←L100062: ;
SOURCE(7499, 6)
goto lab←L100052;
};
/* c2c skipped dead code */
lab←L100057: ;
};
SOURCE(7532, 11)
prev←v7820 = atom←v7792;
};
atom←v7792 = (* (( (ptr) atom←v7792)+2) );
goto lab←L100056;
lab←L100053: ;
/* removed tail goto */
lab←L100052: ;
(* (ptr) formal←c0182 ) = atom←v7792;
(* (( (ptr) formal←c0182)+1) ) = prev←v7820;
(* (( (ptr) formal←c0182)+2) ) = hash←v7848;
return;
}
static void InsertAtom←P1620(this←v7908, prev←v7936, hash←v7964)
word this←v7908;
word prev←v7936;
word hash←v7964;
{
register ptr gf←c18400 = (ptr) &globalframe;
/* InsertAtom: */
SOURCE(7558, 293)
SOURCE(7648, 173)
if ((prev←v7936 == 0)) {
SOURCE(7669, 35)
{
word x27;
(void) SetLink←P240(this←v7908, (* (( (ptr) (
x27 = (* (( (ptr) gf←c18400)+9)/* atomDictionary←v3056 */ ),
NCK((* (bPt) x27 )),
x27
))+hash←v7964) ));
};
SOURCE(7706, 28)
{
word x28;
(* (( (ptr) (
x28 = (* (( (ptr) gf←c18400)+9)/* atomDictionary←v3056 */ ),
NCK((* (bPt) x28 )),
x28
))+hash←v7964) ) = this←v7908;
};
}
else {
SOURCE(7743, 28)
(void) SetLink←P240(this←v7908, (* (( (ptr) prev←v7936)+2) ));
SOURCE(7773, 19)
(void) SetLink←P240(prev←v7936, this←v7908);
SOURCE(7794, 27)
(* (( (ptr) gf←c18400)+13)/* collisions←v3196 */ ) = ((* (( (ptr) gf←c18400)+13)/* collisions←v3196 */ ) + 1);
};
SOURCE(7826, 25)
(* (( (ptr) gf←c18400)+12)/* atomCount←v3168 */ ) = ((* (( (ptr) gf←c18400)+12)/* atomCount←v3168 */ ) + 1);
}
static void Crash←P1740()
{
/* Crash: */
SOURCE(8002, 63)
SOURCE(8018, 47)
(void) XR←RaiseUnnamedError();
}
static void NoName←Q3396(formal←c0190, formal←c200036, formal←c200037, formal←c200038, formal←c200039)
word formal←c0190;
word formal←c200036;
word formal←c200037;
word formal←c200038;
word formal←c200039;
{
register ptr gf←c0276 = (ptr) &globalframe;
if ((formal←c200037 == XR←Unwind)) {
SOURCE(6581, 7)
(void) Crash←P1740();
(void) (XR←MonitorExit((word) (( (bPt) gf←c0276)+16)/* LOCK←v2776 */ ));
};
(* (ptr) formal←c0190 ) = 0;
(* (( (ptr) formal←c0190)+1) ) = 0;
return;
}
static void NoName←Q3456(formal←c0195, formal←c200032, formal←c200033, formal←c200034, formal←c200035)
word formal←c0195;
word formal←c200032;
word formal←c200033;
word formal←c200034;
word formal←c200035;
{
register ptr gf←c0277 = (ptr) &globalframe;
if ((formal←c200033 == XR←Unwind)) {
SOURCE(5674, 7)
(void) Crash←P1740();
(void) (XR←MonitorExit((word) (( (bPt) gf←c0277)+16)/* LOCK←v2776 */ ));
};
(* (ptr) formal←c0195 ) = 0;
(* (( (ptr) formal←c0195)+1) ) = 0;
return;
}
static void NoName←Q3516(formal←c0200, formal←c200028, formal←c200029, formal←c200030, formal←c200031)
word formal←c0200;
word formal←c200028;
word formal←c200029;
word formal←c200030;
word formal←c200031;
{
register ptr gf←c0278 = (ptr) &globalframe;
if ((formal←c200029 == XR←Unwind)) {
SOURCE(5474, 7)
(void) Crash←P1740();
(void) (XR←MonitorExit((word) (( (bPt) gf←c0278)+16)/* LOCK←v2776 */ ));
};
(* (ptr) formal←c0200 ) = 0;
(* (( (ptr) formal←c0200)+1) ) = 0;
return;
}
static void NoName←Q3576(formal←c0205, formal←c200024, formal←c200025, formal←c200026, formal←c200027)
word formal←c0205;
word formal←c200024;
word formal←c200025;
word formal←c200026;
word formal←c200027;
{
register ptr gf←c0279 = (ptr) &globalframe;
if ((formal←c200025 == XR←Unwind)) {
SOURCE(5269, 7)
(void) Crash←P1740();
(void) (XR←MonitorExit((word) (( (bPt) gf←c0279)+16)/* LOCK←v2776 */ ));
};
(* (ptr) formal←c0205 ) = 0;
(* (( (ptr) formal←c0205)+1) ) = 0;
return;
}
static void NoName←Q3636(formal←c0210, formal←c200020, formal←c200021, formal←c200022, formal←c200023)
word formal←c0210;
word formal←c200020;
word formal←c200021;
word formal←c200022;
word formal←c200023;
{
register ptr gf←c0280 = (ptr) &globalframe;
if ((formal←c200021 == XR←Unwind)) {
SOURCE(4970, 7)
(void) Crash←P1740();
(void) (XR←MonitorExit((word) (( (bPt) gf←c0280)+16)/* LOCK←v2776 */ ));
};
(* (ptr) formal←c0210 ) = 0;
(* (( (ptr) formal←c0210)+1) ) = 0;
return;
}
static void NoName←Q3696(formal←c0215, formal←c200016, formal←c200017, formal←c200018, formal←c200019)
word formal←c0215;
word formal←c200016;
word formal←c200017;
word formal←c200018;
word formal←c200019;
{
register ptr gf←c0281 = (ptr) &globalframe;
if ((formal←c200017 == XR←Unwind)) {
SOURCE(4295, 7)
(void) Crash←P1740();
(void) (XR←MonitorExit((word) (( (bPt) gf←c0281)+16)/* LOCK←v2776 */ ));
};
(* (ptr) formal←c0215 ) = 0;
(* (( (ptr) formal←c0215)+1) ) = 0;
return;
}
static void NoName←Q3756(formal←c0220, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
word formal←c0220;
word formal←c200012;
word formal←c200013;
word formal←c200014;
word formal←c200015;
{
register ptr gf←c0282 = (ptr) &globalframe;
if ((formal←c200013 == XR←Unwind)) {
SOURCE(4033, 7)
(void) Crash←P1740();
(void) (XR←MonitorExit((word) (( (bPt) gf←c0282)+16)/* LOCK←v2776 */ ));
};
(* (ptr) formal←c0220 ) = 0;
(* (( (ptr) formal←c0220)+1) ) = 0;
return;
}
static void NoName←Q3816(formal←c0225, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
word formal←c0225;
word formal←c200008;
word formal←c200009;
word formal←c200010;
word formal←c200011;
{
register ptr gf←c0283 = (ptr) &globalframe;
if ((formal←c200009 == XR←Unwind)) {
SOURCE(3833, 7)
(void) Crash←P1740();
(void) (XR←MonitorExit((word) (( (bPt) gf←c0283)+16)/* LOCK←v2776 */ ));
};
(* (ptr) formal←c0225 ) = 0;
(* (( (ptr) formal←c0225)+1) ) = 0;
return;
}
static void NoName←Q3876(formal←c0230, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
word formal←c0230;
word formal←c200004;
word formal←c200005;
word formal←c200006;
word formal←c200007;
{
register ptr gf←c0284 = (ptr) &globalframe;
if ((formal←c200005 == XR←Unwind)) {
SOURCE(2750, 7)
(void) Crash←P1740();
(void) (XR←MonitorExit((word) (( (bPt) gf←c0284)+16)/* LOCK←v2776 */ ));
};
(* (ptr) formal←c0230 ) = 0;
(* (( (ptr) formal←c0230)+1) ) = 0;
return;
}
static void NoName←Q3936(formal←c0235, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
word formal←c0235;
word formal←c200000;
word formal←c200001;
word formal←c200002;
word formal←c200003;
{
register ptr gf←c0285 = (ptr) &globalframe;
if ((formal←c200001 == XR←Unwind)) {
SOURCE(2328, 7)
(void) Crash←P1740();
(void) (XR←MonitorExit((word) (( (bPt) gf←c0285)+16)/* LOCK←v2776 */ ));
};
(* (ptr) formal←c0235 ) = 0;
(* (( (ptr) formal←c0235)+1) ) = 0;
return;
}
/* file: AtomImpl, module: AtomImpl, compiled at: March 3, 1992 1:09:40 pm PST */
extern void XR←install←AtomImpl() {
NoName←Q2736();
}
extern void XR←run←AtomImpl() { XR←Start(&globalframe); }