/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */
/* time: April 21, 1992 1:09:55 pm PDT */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: XlAssocImpl, module: XlAssocImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [1512459903,3469295224] XlAssocImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; word r;} W9;
typedef word (*fPt)();
typedef struct {W8 f; W8 r;} W16;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef W9 *W9Pt;
#define SOURCE(p, l) /* source p, l */
#define MAX(cast, x, y) ( ( cast x) > ( cast y) ? (x) : (y) )
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
static void NoName←Q2712();
static void XlAssocImpl←P0();
static word Create←P120();
static word FindNode←P180();
static void FetchValue←P240();
static word NoName←Q2772();
static word StoreValue←P300();
static word NoName←Q2832();
static word InsertWindow←P360();
static word StoreWindow←P420();
static void InternalRemoveNode←P720();
static word RemoveWindow←P780();
static word NoName←Q2892();
static void EnumerateChildren←P840();
static word NoName←Q2952();
static word Inhibit←P1416();
static void Release←P1476();
static word Enumerate←P1536();
static word GetSize←P900();
static word NoName←Q3012();
static void Erase←P960();
static word NoName←Q3072();
static void ReHash←P1020();
static void NoName←Q3132();
static void NoName←Q3192();
static void NoName←Q3252();
static void NoName←Q3312();
static void NoName←Q3372();
static void NoName←Q3432();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\132\046\116\177\300\316\311\076\170\100\214\000\000"};
static struct {unsigned f; char r[4];} string2 = {131074, "\004\030\000"};
static struct {unsigned f; char r[8];} string3 = {393224, "\205\210\242\000\015\241\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\132\046\116\177\300\316\311\076\170\100\230\000\000"};
static struct {unsigned f; char r[12];} string5 = {524296, "\011\000\004\000\040\000\004\001\000\000\000"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\132\046\116\177\300\316\311\076\170\100\244\000\000"};
static struct {unsigned f; char r[4];} string7 = {196611, "\004@\376"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\072\360\037\045\300\374\044\132\334\100\164\000\000"};
static struct {unsigned f; char r[4];} string9 = {131074, "\003\004\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\132\046\116\177\300\316\311\076\170\100\200\000\000"};
static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\072\360\037\045\300\374\044\132\334\100\150\000\000"};
static struct {unsigned f; char r[32];} string12 = {1835040, "\211\020\017\101\163\163\157\143\124\141\142\111\155\160\154\122\145\160\300\072\360\037\045\300\374\044\132\334\000\000\000"};
static struct {
word f0[15]; word f15; 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; word f32; word f33;
word f34; word f35; word f36; word f37;
word f38; word f39; word f40[2];
} globalframe = {
{0}, (word) ReHash←P1020, 0, (word) Erase←P960,
0, (word) GetSize←P900, 0, (word) EnumerateChildren←P840,
0, (word) RemoveWindow←P780, 0, (word) InternalRemoveNode←P720,
0, (word) StoreWindow←P420, 0, (word) InsertWindow←P360,
0, (word) StoreValue←P300, 0, (word) FetchValue←P240,
0, (word) FindNode←P180, 0, (word) Create←P120,
0, (word) XlAssocImpl←P0, {0}
};
static void NoName←Q2712()
{
register ptr gf←c0202 = (ptr) &globalframe;
word var←c11944;
(* (( (ptr) gf←c0202)+5) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c0202)+6) ) = (word) XR←GetTypeIndexS((word) (&string3));
(* (( (ptr) gf←c0202)+9) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
(* (( (ptr) gf←c0202)+10) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
(* (( (ptr) gf←c0202)+11) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string9);
(void) XR←DeclareGlobalFrame((word) "XlAssocImpl", &globalframe, (word) XR←GetTypeIndex((word) &string10, 0, (word) &string9)
, (word) (( (bPt) gf←c0202)+156)/* var←c10376 */ );
var←c11944 = (word) XR←ExportInterface((word) "XlAssoc", (word) XR←GetTypeIndexS((word) (&string11)), 12);
(* (( (ptr) gf←c0202)+41)/* var←c11912 */ ) = var←c11944;
(void) XR←ExportType((word) "AssocTabImplRep", (word) XR←GetTypeIndexS((word) (&string12)), (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2)
);
(void) XR←ExportVar(var←c11944, 1, (word) (( (bPt) gf←c0202)+48));
(void) XR←ExportVar(var←c11944, 2, (word) (( (bPt) gf←c0202)+52));
(void) XR←ExportProcS(var←c11944, (word) (( (bPt) gf←c0202)+148)/* var←c10344 */ , 67371777);
(void) XR←ExportProcS(var←c11944, (word) (( (bPt) gf←c0202)+76)/* var←c10056 */ , 67372033);
(void) XR←ExportProcS(var←c11944, (word) (( (bPt) gf←c0202)+116)/* var←c10216 */ , 68158724);
(void) XR←ExportProcS(var←c11944, (word) (( (bPt) gf←c0202)+108)/* var←c10184 */ , 67896835);
(void) XR←ExportProcS(var←c11944, (word) (( (bPt) gf←c0202)+92)/* var←c10120 */ , 67634946);
(void) XR←ExportProcS(var←c11944, (word) (( (bPt) gf←c0202)+132)/* var←c10280 */ , 201852930);
(void) XR←ExportProcS(var←c11944, (word) (( (bPt) gf←c0202)+124)/* var←c10248 */ , 67897603);
(void) XR←ExportProcS(var←c11944, (word) (( (bPt) gf←c0202)+84)/* var←c10088 */ , 135531013);
(void) XR←ExportProcS(var←c11944, (word) (( (bPt) gf←c0202)+68)/* var←c10024 */ , 264961);
}
static void XlAssocImpl←P0(formal←c026, formal←c024)
word formal←c026;
word formal←c024;
{
register ptr gf←c11976 = (ptr) &globalframe;
/* XlAssocImpl: */
SOURCE(62, 7574)
SOURCE(7686, 212)
{
word var←c10408;
var←c10408 = XR←NewObject(56, (* (( (ptr) gf←c11976)+6) ));
(* (ptr) var←c10408 ) = 2;
(* (( (ptr) var←c10408)+1) ) = 5;
(* (( (ptr) var←c10408)+2) ) = 11;
(* (( (ptr) var←c10408)+3) ) = 23;
(* (( (ptr) var←c10408)+4) ) = 53;
(* (( (ptr) var←c10408)+5) ) = 113;
(* (( (ptr) var←c10408)+6) ) = 251;
(* (( (ptr) var←c10408)+7) ) = 509;
(* (( (ptr) var←c10408)+8) ) = 1019;
(* (( (ptr) var←c10408)+9) ) = 2039;
(* (( (ptr) var←c10408)+10) ) = 4079;
(* (( (ptr) var←c10408)+11) ) = 8179;
(* (( (ptr) var←c10408)+12) ) = 16369;
(* (( (ptr) var←c10408)+13) ) = 32749;
(* (( (ptr) gf←c11976)+4)/* primeTable←v3280 */ ) = var←c10408;
};
}
static word Create←P120(mod←v4080)
word mod←v4080;
{
register ptr gf←c12008 = (ptr) &globalframe;
word var←c4124;
word seqLen←v6152;
word impl←v6180;
/* Create: */
SOURCE(971, 5541)
SOURCE(1028, 35)
seqLen←v6152 = (MAX( (unsigned) , mod←v4080, 2));
SOURCE(1065, 160)
{
word var←c10440;
word var←c10568;
word var←c10632;
{
word var←c10472;
word var←c10504;
word var←c10536;
var←c10472 = BCK(seqLen←v6152, 67108863);
var←c10504 = (var←c10472 << 2);
var←c10536 = XR←NewObject((4 + var←c10504), (* (( (ptr) gf←c12008)+9) ));
(* (ptr) var←c10536 ) = var←c10472;
var←c10440 = var←c10536;
};
var←c10568 = XR←NewObject(36, (* (( (ptr) gf←c12008)+10) ));
var←c10632 = XR←NewObject(20, (* (( (ptr) gf←c12008)+5) ));
(* (( (ptr) var←c10632)+1) ) = seqLen←v6152;
(* (( (ptr) var←c10632)+3) ) = var←c10440;
(* (( (ptr) var←c10632)+4) ) = var←c10568;
impl←v6180 = var←c10632;
};
SOURCE(1227, 5285)
{
word var←c10696;
var←c10696 = XR←NewObject(20, (* (( (ptr) gf←c12008)+11) ));
(* (( (ptr) var←c10696)+4) ) = impl←v6180;
return(var←c10696);
};
}
static word FindNode←P180(impl←v4184, window←v4212)
word impl←v4184;
word window←v4212;
{
word var←c4256;
/* FindNode: */
SOURCE(1273, 5239)
SOURCE(1273, 5239)
var←c4256 = 0;
SOURCE(1351, 5161)
if ((window←v4212 == 0)) {
SOURCE(1377, 31)
return((* (( (ptr) impl←v4184)+4) ));
}
else {
SOURCE(1408, 172)
{
word index←v6224;
word node←v6252;
SOURCE(1410, 48)
{
word var←c10728;
word id←v6124;
id←v6124 = window←v4212;
SOURCE(926, 41)
{
word idx13;
var←c10728 = (
idx13 = (word) (( (((unsigned)id←v6124 << 17) >> 17) ) + (id←v6124 >> 15)),
BCK(idx13, 65536)
);
};
index←v6224 = (var←c10728 % (* (ptr) (* (( (ptr) impl←v4184)+3) ) ));
};
SOURCE(1460, 29)
{
word var←c10760;
var←c10760 = (* (( (ptr) impl←v4184)+3) );
{
word limit14;
node←v6252 = (* ((( (ptr) var←c10760)+1)+(
limit14 = (* (ptr) var←c10760 ),
BCK(index←v6224, limit14)
)) );
};
};
SOURCE(1491, 78)
lab←L100003: ;
if ((node←v6252 != 0)) {
}
else {
goto lab←L100001;
};
SOURCE(1511, 40)
if ((window←v4212 == (* (ptr) node←v6252 ))) {
SOURCE(1538, 13)
return(node←v6252);
};
SOURCE(1553, 16)
node←v6252 = (* (( (ptr) node←v6252)+3) );
goto lab←L100003;
lab←L100001: ;
};
};
SOURCE(1273, 5239)
return(var←c4256);
}
static void FetchValue←P240(formal←c051, formal←c0236, formal←c0237)
word formal←c051;
word formal←c0236;
word formal←c0237;
{
W9 var←c12040;
/* declaration of x←v4316 skipped */
/* declaration of window←v4344 skipped */
/* declaration of found←v4388 skipped */
/* declaration of parent←v4416 skipped */
/* declaration of val←v4444 skipped */
(* (( (ptr) &var←c12040)+4)/* x←v4316 */ ) = formal←c0236;
(* (( (ptr) &var←c12040)+5)/* window←v4344 */ ) = formal←c0237;
/* FetchValue: */
SOURCE(1587, 4925)
(void) (XR←MonitorEntry(* (( (ptr) &var←c12040)+4)/* x←v4316 */ ));
SOURCE(1587, 4925)
(* (( (ptr) &var←c12040)+8)/* val←v4444 */ ) = 0;
SOURCE(1696, 4816)
{
word var←c01;
{
word var←c0218;
var←c0218 = (word) &var←c12040;
var←c01 = (word) XR←Enable(( ((word) (fPt) NoName←Q2772) ), ( ((word) (fPt) NoName←Q3432) ), var←c0218);
};
/* removed trivial cond node */
};
(void) (XR←MonitorExit(* (( (ptr) &var←c12040)+4)/* x←v4316 */ ));
(* (ptr) formal←c051 ) = (* (( (ptr) &var←c12040)+6)/* found←v4388 */ );
(* (( (ptr) formal←c051)+1) ) = (* (( (ptr) &var←c12040)+7)/* parent←v4416 */ );
(* (( (ptr) formal←c051)+2) ) = (* (( (ptr) &var←c12040)+8)/* val←v4444 */ );
return;
}
static word NoName←Q2772(formal←c0205)
word formal←c0205;
{
SOURCE(1719, 37)
{
word node←v6296;
SOURCE(1719, 37)
node←v6296 = (word) FindNode←P180((* (( (ptr) (* (( (ptr) formal←c0205)+4) ))+4) ), (* (( (ptr) formal←c0205)+5) ));
SOURCE(1758, 98)
if ((node←v6296 != 0)) {
SOURCE(1776, 49)
(* (( (ptr) formal←c0205)+7) ) = (* (ptr) (* (( (ptr) node←v6296)+4) ) );
(* (( (ptr) formal←c0205)+8) ) = (* (( (ptr) node←v6296)+1) );
(* (( (ptr) formal←c0205)+6) ) = 1;
return(2);
}
else {
SOURCE(1825, 31)
(* (( (ptr) formal←c0205)+6) ) = 0;
(* (( (ptr) formal←c0205)+7) ) = 0;
(* (( (ptr) formal←c0205)+8) ) = 0;
return(2);
};
};
/* c2c skipped dead code */
}
static word StoreValue←P300(formal←c0238, formal←c0239, formal←c0240)
word formal←c0238;
word formal←c0239;
word formal←c0240;
{
W8 var←c12072;
/* declaration of x←v4516 skipped */
/* declaration of window←v4544 skipped */
/* declaration of val←v4572 skipped */
/* declaration of found←v4628 skipped */
var←c12072.f4/* x←v4516 */ = formal←c0238;
var←c12072.f5/* window←v4544 */ = formal←c0239;
var←c12072.f6/* val←v4572 */ = formal←c0240;
/* StoreValue: */
SOURCE(1862, 4650)
(void) (XR←MonitorEntry(var←c12072.f4/* x←v4516 */ ));
SOURCE(1961, 4551)
{
word var←c0219;
var←c0219 = (word) &var←c12072;
(void) (word) XR←Enable(( ((word) (fPt) NoName←Q2832) ), ( ((word) (fPt) NoName←Q3372) ), var←c0219);
};
SOURCE(1862, 4650)
(void) (XR←MonitorExit(var←c12072.f4/* x←v4516 */ ));
return(var←c12072.f7/* found←v4628 */ );
}
static word NoName←Q2832(formal←c0206)
word formal←c0206;
{
SOURCE(1984, 37)
{
word node←v6340;
SOURCE(1984, 37)
node←v6340 = (word) FindNode←P180((* (( (ptr) (* (( (ptr) formal←c0206)+4) ))+4) ), (* (( (ptr) formal←c0206)+5) ));
SOURCE(2023, 39)
(* (( (ptr) formal←c0206)+7) ) = (node←v6340 != 0);
if ((0 != (* (( (ptr) formal←c0206)+7) ))) {
SOURCE(2048, 14)
(* (( (ptr) node←v6340)+1) ) = (* (( (ptr) formal←c0206)+6) );
};
};
return(0);
}
static word InsertWindow←P360(x←v4688, window←v4716, parent←v4744, val←v4772)
word x←v4688;
word window←v4716;
word parent←v4744;
word val←v4772;
{
register ptr gf←c12104 = (ptr) &globalframe;
word var←c10856;
word var←c11048;
word done←v4828;
word impl←v6384;
word node←v6412;
word parentNode←v6440;
/* InsertWindow: */
SOURCE(2069, 4443)
(void) (XR←MonitorEntry(x←v4688));
SOURCE(2198, 19)
impl←v6384 = (* (( (ptr) x←v4688)+4) );
SOURCE(2219, 35)
node←v6412 = (word) FindNode←P180(impl←v6384, window←v4716);
SOURCE(2256, 41)
parentNode←v6440 = (word) FindNode←P180(impl←v6384, parent←v4744);
SOURCE(2300, 55)
if ((window←v4716 == parent←v4744)) {
SOURCE(2322, 33)
var←c10856 = (word) (( (bPt) gf←c12104)+56);
(void) (XR←MonitorExit(x←v4688));
goto lab←L100010;
};
SOURCE(2357, 4155)
if ((node←v6412 == 0)) {
SOURCE(2375, 295)
{
word index←v6484;
word var←c11016;
SOURCE(2378, 48)
{
word var←c10888;
word id←v9356;
id←v9356 = window←v4716;
SOURCE(926, 41)
{
word idx15;
var←c10888 = (
idx15 = (word) (( (((unsigned)id←v9356 << 17) >> 17) ) + (id←v9356 >> 15)),
BCK(idx15, 65536)
);
};
index←v6484 = (var←c10888 % (* (ptr) (* (( (ptr) impl←v6384)+3) ) ));
};
SOURCE(2428, 4084)
{
word var←c10920;
var←c10920 = XR←NewObject(36, (* (( (ptr) gf←c12104)+10) ));
(* (ptr) var←c10920 ) = window←v4716;
(* (( (ptr) var←c10920)+1) ) = val←v4772;
(* (( (ptr) var←c10920)+8) ) = index←v6484;
node←v6412 = var←c10920;
};
SOURCE(2493, 34)
{
word child←v9788;
word parent←v9816;
child←v9788 = node←v6412;
parent←v9816 = parentNode←v6440;
SOURCE(4150, 21)
(* (( (ptr) child←v9788)+4) ) = parent←v9816;
SOURCE(4173, 19)
(* (( (ptr) child←v9788)+7) ) = 0;
SOURCE(4194, 33)
(* (( (ptr) child←v9788)+6) ) = (* (( (ptr) parent←v9816)+5) );
SOURCE(4229, 126)
if (((* (( (ptr) parent←v9816)+5) ) != 0)) {
SOURCE(4261, 38)
if (((* (( (ptr) (* (( (ptr) parent←v9816)+5) ))+7) ) != 0)) {
SOURCE(4299, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(4322, 33)
(* (( (ptr) (* (( (ptr) parent←v9816)+5) ))+7) ) = child←v9788;
};
SOURCE(4360, 25)
(* (( (ptr) parent←v9816)+5) ) = child←v9788;
};
SOURCE(2529, 31)
{
word node←v9512;
node←v9512 = node←v6412;
SOURCE(3734, 15)
(* (( (ptr) node←v9512)+2) ) = 0;
SOURCE(3751, 2761)
{
word var←c10952;
var←c10952 = (* (( (ptr) impl←v6384)+3) );
{
word idx16;
word limit17;
(* (( (ptr) node←v9512)+3) ) = (* ((( (ptr) var←c10952)+1)+(
idx16 = (* (( (ptr) node←v9512)+8) ),
limit17 = (* (ptr) var←c10952 ),
BCK(idx16, limit17)
)) );
};
};
SOURCE(3786, 43)
if (((* (( (ptr) node←v9512)+3) ) != 0)) {
SOURCE(3808, 21)
(* (( (ptr) (* (( (ptr) node←v9512)+3) ))+2) ) = node←v9512;
};
SOURCE(3831, 2681)
{
word var←c10984;
var←c10984 = (* (( (ptr) impl←v6384)+3) );
{
word idx18;
word limit19;
(* ((( (ptr) var←c10984)+1)+(
idx18 = (* (( (ptr) node←v9512)+8) ),
limit19 = (* (ptr) var←c10984 ),
BCK(idx18, limit19)
)) ) = node←v9512;
};
};
};
SOURCE(2562, 91)
{
word tc20;
var←c11016 = ((* (ptr) impl←v6384 ) + 1);
(* (ptr) impl←v6384 ) = var←c11016;
if (( (int)var←c11016 > (int)(* (( (ptr) impl←v6384)+1) ))) {
tc20 = (word) ( (int)(* (( (ptr) impl←v6384)+2) ) == (int)0);
}
else {
tc20 = (word) 0;
};
if (tc20) {
SOURCE(2641, 12)
(void) ReHash←P1020(impl←v6384);
};
};
SOURCE(2655, 13)
(void) (XR←MonitorExit(x←v4688));
return(1);
};
}
else {
SOURCE(2679, 58)
if ((window←v4716 == 0)) {
SOURCE(2705, 32)
var←c11048 = (word) (( (bPt) gf←c12104)+52);
(void) (XR←MonitorExit(x←v4688));
goto lab←L100012;
};
SOURCE(2739, 14)
(void) (XR←MonitorExit(x←v4688));
return(0);
};
/* c2c skipped dead code */
lab←L100010: ;
SOURCE(2322, 33)
(void) XR←RaiseError(var←c10856, 0);
lab←L100012: ;
SOURCE(2705, 32)
(void) XR←RaiseError(var←c11048, 0);
}
static word StoreWindow←P420(x←v4888, window←v4916, parent←v4944)
word x←v4888;
word window←v4916;
word parent←v4944;
{
register ptr gf←c12136 = (ptr) &globalframe;
word var←c11080;
word var←c11272;
word var←c11304;
word new←v4988;
word impl←v6528;
word node←v6556;
word parentNode←v6584;
/* StoreWindow: */
SOURCE(2762, 3750)
(void) (XR←MonitorEntry(x←v4888));
SOURCE(2873, 19)
impl←v6528 = (* (( (ptr) x←v4888)+4) );
SOURCE(2894, 35)
node←v6556 = (word) FindNode←P180(impl←v6528, window←v4916);
SOURCE(2931, 41)
parentNode←v6584 = (word) FindNode←P180(impl←v6528, parent←v4944);
SOURCE(2975, 54)
if ((parentNode←v6584 == 0)) {
SOURCE(2998, 31)
var←c11080 = (word) (( (bPt) gf←c12136)+48);
(void) (XR←MonitorExit(x←v4888));
goto lab←L100014;
};
SOURCE(3032, 3480)
if ((node←v6556 == 0)) {
SOURCE(3050, 284)
{
word index←v6628;
word var←c11240;
SOURCE(3052, 48)
{
word var←c11112;
word id←v9312;
id←v9312 = window←v4916;
SOURCE(926, 41)
{
word idx21;
var←c11112 = (
idx21 = (word) (( (((unsigned)id←v9312 << 17) >> 17) ) + (id←v9312 >> 15)),
BCK(idx21, 65536)
);
};
index←v6628 = (var←c11112 % (* (ptr) (* (( (ptr) impl←v6528)+3) ) ));
};
SOURCE(3102, 3410)
{
word var←c11144;
var←c11144 = XR←NewObject(36, (* (( (ptr) gf←c12136)+10) ));
(* (ptr) var←c11144 ) = window←v4916;
(* (( (ptr) var←c11144)+8) ) = index←v6628;
node←v6556 = var←c11144;
};
SOURCE(3157, 34)
{
word child←v9712;
word parent←v9740;
child←v9712 = node←v6556;
parent←v9740 = parentNode←v6584;
SOURCE(4150, 21)
(* (( (ptr) child←v9712)+4) ) = parent←v9740;
SOURCE(4173, 19)
(* (( (ptr) child←v9712)+7) ) = 0;
SOURCE(4194, 33)
(* (( (ptr) child←v9712)+6) ) = (* (( (ptr) parent←v9740)+5) );
SOURCE(4229, 126)
if (((* (( (ptr) parent←v9740)+5) ) != 0)) {
SOURCE(4261, 38)
if (((* (( (ptr) (* (( (ptr) parent←v9740)+5) ))+7) ) != 0)) {
SOURCE(4299, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(4322, 33)
(* (( (ptr) (* (( (ptr) parent←v9740)+5) ))+7) ) = child←v9712;
};
SOURCE(4360, 25)
(* (( (ptr) parent←v9740)+5) ) = child←v9712;
};
SOURCE(3193, 31)
{
word node←v9464;
node←v9464 = node←v6556;
SOURCE(3734, 15)
(* (( (ptr) node←v9464)+2) ) = 0;
SOURCE(3751, 2761)
{
word var←c11176;
var←c11176 = (* (( (ptr) impl←v6528)+3) );
{
word idx22;
word limit23;
(* (( (ptr) node←v9464)+3) ) = (* ((( (ptr) var←c11176)+1)+(
idx22 = (* (( (ptr) node←v9464)+8) ),
limit23 = (* (ptr) var←c11176 ),
BCK(idx22, limit23)
)) );
};
};
SOURCE(3786, 43)
if (((* (( (ptr) node←v9464)+3) ) != 0)) {
SOURCE(3808, 21)
(* (( (ptr) (* (( (ptr) node←v9464)+3) ))+2) ) = node←v9464;
};
SOURCE(3831, 2681)
{
word var←c11208;
var←c11208 = (* (( (ptr) impl←v6528)+3) );
{
word idx24;
word limit25;
(* ((( (ptr) var←c11208)+1)+(
idx24 = (* (( (ptr) node←v9464)+8) ),
limit25 = (* (ptr) var←c11208 ),
BCK(idx24, limit25)
)) ) = node←v9464;
};
};
};
SOURCE(3226, 91)
{
word tc26;
var←c11240 = ((* (ptr) impl←v6528 ) + 1);
(* (ptr) impl←v6528 ) = var←c11240;
if (( (int)var←c11240 > (int)(* (( (ptr) impl←v6528)+1) ))) {
tc26 = (word) ( (int)(* (( (ptr) impl←v6528)+2) ) == (int)0);
}
else {
tc26 = (word) 0;
};
if (tc26) {
SOURCE(3305, 12)
(void) ReHash←P1020(impl←v6528);
};
};
SOURCE(3319, 13)
(void) (XR←MonitorExit(x←v4888));
return(1);
};
}
else {
SOURCE(3343, 58)
if ((window←v4916 == 0)) {
SOURCE(3369, 32)
var←c11272 = (word) (( (bPt) gf←c12136)+52);
(void) (XR←MonitorExit(x←v4888));
goto lab←L100016;
};
SOURCE(3403, 48)
if ((parent←v4944 == (* (ptr) (* (( (ptr) node←v6556)+4) ) ))) {
SOURCE(3437, 14)
(void) (XR←MonitorExit(x←v4888));
return(0);
};
SOURCE(3453, 111)
{
register word p←v6672;
p←v6672 = parentNode←v6584;
lab←L100020: ;
if ((p←v6672 != (* (( (ptr) impl←v6528)+4) ))) {
}
else {
goto lab←L100017;
};
SOURCE(3516, 48)
if ((p←v6672 == node←v6556)) {
SOURCE(3531, 33)
var←c11304 = (word) (( (bPt) gf←c12136)+56);
(void) (XR←MonitorExit(x←v4888));
goto lab←L100021;
};
p←v6672 = (* (( (ptr) p←v6672)+4) );
goto lab←L100020;
lab←L100017: ;
};
SOURCE(3575, 27)
{
word child←v9912;
child←v9912 = node←v6556;
SOURCE(4477, 251)
if (((* (( (ptr) (* (( (ptr) child←v9912)+4) ))+5) ) == child←v9912)) {
SOURCE(4518, 26)
if (((* (( (ptr) child←v9912)+7) ) != 0)) {
SOURCE(4544, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(4567, 39)
(* (( (ptr) (* (( (ptr) child←v9912)+4) ))+5) ) = (* (( (ptr) child←v9912)+6) );
}
else {
SOURCE(4658, 26)
if (((* (( (ptr) child←v9912)+7) ) == 0)) {
SOURCE(4684, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(4691, 37)
(* (( (ptr) (* (( (ptr) child←v9912)+7) ))+6) ) = (* (( (ptr) child←v9912)+6) );
};
SOURCE(4781, 63)
if (((* (( (ptr) child←v9912)+6) ) != 0)) {
SOURCE(4807, 37)
(* (( (ptr) (* (( (ptr) child←v9912)+6) ))+7) ) = (* (( (ptr) child←v9912)+7) );
};
};
SOURCE(3604, 34)
{
word child←v9636;
word parent←v9664;
child←v9636 = node←v6556;
parent←v9664 = parentNode←v6584;
SOURCE(4150, 21)
(* (( (ptr) child←v9636)+4) ) = parent←v9664;
SOURCE(4173, 19)
(* (( (ptr) child←v9636)+7) ) = 0;
SOURCE(4194, 33)
(* (( (ptr) child←v9636)+6) ) = (* (( (ptr) parent←v9664)+5) );
SOURCE(4229, 126)
if (((* (( (ptr) parent←v9664)+5) ) != 0)) {
SOURCE(4261, 38)
if (((* (( (ptr) (* (( (ptr) parent←v9664)+5) ))+7) ) != 0)) {
SOURCE(4299, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(4322, 33)
(* (( (ptr) (* (( (ptr) parent←v9664)+5) ))+7) ) = child←v9636;
};
SOURCE(4360, 25)
(* (( (ptr) parent←v9664)+5) ) = child←v9636;
};
SOURCE(3640, 14)
(void) (XR←MonitorExit(x←v4888));
return(0);
};
/* c2c skipped dead code */
lab←L100014: ;
SOURCE(2998, 31)
(void) XR←RaiseError(var←c11080, 0);
lab←L100016: ;
SOURCE(3369, 32)
(void) XR←RaiseError(var←c11272, 0);
lab←L100021: ;
SOURCE(3531, 33)
(void) XR←RaiseError(var←c11304, 0);
}
static void InternalRemoveNode←P720(impl←v5372, node←v5400)
word impl←v5372;
word node←v5400;
{
/* InternalRemoveNode: */
SOURCE(4850, 236)
SOURCE(4913, 70)
lab←L100025: ;
if (((* (( (ptr) node←v5400)+5) ) != 0)) {
}
else {
goto lab←L100023;
};
SOURCE(4942, 41)
(void) InternalRemoveNode←P720(impl←v5372, (* (( (ptr) node←v5400)+5) ));
goto lab←L100025;
lab←L100023: ;
SOURCE(4994, 27)
{
word child←v9864;
child←v9864 = node←v5400;
SOURCE(4477, 251)
if (((* (( (ptr) (* (( (ptr) child←v9864)+4) ))+5) ) == child←v9864)) {
SOURCE(4518, 26)
if (((* (( (ptr) child←v9864)+7) ) != 0)) {
SOURCE(4544, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(4567, 39)
(* (( (ptr) (* (( (ptr) child←v9864)+4) ))+5) ) = (* (( (ptr) child←v9864)+6) );
}
else {
SOURCE(4658, 26)
if (((* (( (ptr) child←v9864)+7) ) == 0)) {
SOURCE(4684, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(4691, 37)
(* (( (ptr) (* (( (ptr) child←v9864)+7) ))+6) ) = (* (( (ptr) child←v9864)+6) );
};
SOURCE(4781, 63)
if (((* (( (ptr) child←v9864)+6) ) != 0)) {
SOURCE(4807, 37)
(* (( (ptr) (* (( (ptr) child←v9864)+6) ))+7) ) = (* (( (ptr) child←v9864)+7) );
};
};
SOURCE(5023, 36)
{
word impl←v9560;
word node←v9588;
impl←v9560 = impl←v5372;
node←v9588 = node←v5400;
SOURCE(3941, 48)
if (((* (( (ptr) node←v9588)+3) ) != 0)) {
SOURCE(3963, 26)
(* (( (ptr) (* (( (ptr) node←v9588)+3) ))+2) ) = (* (( (ptr) node←v9588)+2) );
};
SOURCE(3991, 2521)
if (((* (( (ptr) node←v9588)+2) ) != 0)) {
SOURCE(4014, 32)
(* (( (ptr) (* (( (ptr) node←v9588)+2) ))+3) ) = (* (( (ptr) node←v9588)+3) );
}
else {
SOURCE(4046, 2466)
{
word var←c11336;
var←c11336 = (* (( (ptr) impl←v9560)+3) );
{
word idx27;
word limit28;
(* ((( (ptr) var←c11336)+1)+(
idx27 = (* (( (ptr) node←v9588)+8) ),
limit28 = (* (ptr) var←c11336 ),
BCK(idx27, limit28)
)) ) = (* (( (ptr) node←v9588)+3) );
};
};
};
};
SOURCE(5061, 25)
(* (ptr) impl←v5372 ) = ((* (ptr) impl←v5372 ) - 1);
}
static word RemoveWindow←P780(formal←c0241, formal←c0242)
word formal←c0241;
word formal←c0242;
{
W8 var←c12168;
/* declaration of x←v5460 skipped */
/* declaration of window←v5488 skipped */
/* declaration of var←c11368 skipped */
/* declaration of found←v5532 skipped */
var←c12168.f4/* x←v5460 */ = formal←c0241;
var←c12168.f5/* window←v5488 */ = formal←c0242;
/* RemoveWindow: */
SOURCE(5092, 1420)
(void) (XR←MonitorEntry(var←c12168.f4/* x←v5460 */ ));
SOURCE(5177, 1335)
{
word var←c02;
{
word var←c0220;
var←c0220 = (word) &var←c12168;
var←c02 = (word) XR←Enable(( ((word) (fPt) NoName←Q2892) ), ( ((word) (fPt) NoName←Q3312) ), var←c0220);
};
if ((var←c02 == 3)) {
goto lab←L100028;
};
};
SOURCE(5092, 1420)
(void) (XR←MonitorExit(var←c12168.f4/* x←v5460 */ ));
return(var←c12168.f7/* found←v5532 */ );
/* c2c skipped dead code */
lab←L100028: ;
SOURCE(5283, 32)
(void) XR←RaiseError(var←c12168.f6/* var←c11368 */ , 0);
}
static word NoName←Q2892(formal←c0210)
word formal←c0210;
{
register ptr gf←c0209 = (ptr) &globalframe;
SOURCE(5200, 37)
{
word node←v6716;
SOURCE(5200, 37)
node←v6716 = (word) FindNode←P180((* (( (ptr) (* (( (ptr) formal←c0210)+4) ))+4) ), (* (( (ptr) formal←c0210)+5) ));
SOURCE(5239, 16)
(* (( (ptr) formal←c0210)+7) ) = (node←v6716 != 0);
SOURCE(5257, 58)
if (((* (( (ptr) formal←c0210)+5) ) == 0)) {
SOURCE(5283, 32)
(* (( (ptr) formal←c0210)+6) ) = (word) (( (bPt) gf←c0209)+52);
(void) (XR←MonitorExit(* (( (ptr) formal←c0210)+4) ));
return(3);
};
SOURCE(5318, 46)
if ((0 != (* (( (ptr) formal←c0210)+7) ))) {
SOURCE(5332, 32)
(void) InternalRemoveNode←P720((* (( (ptr) (* (( (ptr) formal←c0210)+4) ))+4) ), node←v6716);
};
};
return(0);
}
static void EnumerateChildren←P840(formal←c0126, formal←c0243, window←v5620, formal←c0244, formal←c0245, formal←c0246)
word formal←c0126;
word formal←c0243;
word window←v5620;
word formal←c0244;
word formal←c0245;
word formal←c0246;
{
W16 var←c12200;
/* declaration of x←v5592 skipped */
/* declaration of action←v5648 skipped */
/* declaration of recurse←v5676 skipped */
/* declaration of data←v5704 skipped */
word found←v5760;
word quit←v5788;
/* declaration of var←c11400 skipped */
/* declaration of var←c11432 skipped */
/* declaration of var←c11464 skipped */
/* declaration of node←v6844 skipped */
(* (( (ptr) &var←c12200)+4)/* x←v5592 */ ) = formal←c0243;
(* (( (ptr) &var←c12200)+5)/* action←v5648 */ ) = formal←c0244;
(* (( (ptr) &var←c12200)+6)/* recurse←v5676 */ ) = formal←c0245;
(* (( (ptr) &var←c12200)+7)/* data←v5704 */ ) = formal←c0246;
/* EnumerateChildren: */
SOURCE(5370, 1154)
{
word tmpAddr29;
tmpAddr29 = (word) (( (ptr) &var←c12200)+8)/* var←c11400 */ ;
(* (ptr) tmpAddr29 ) = ( ((word) (fPt) Enumerate←P1536) );
(* (( (ptr) tmpAddr29) + 1) ) = 1;
};
{
word tmpAddr30;
tmpAddr30 = (word) (( (ptr) &var←c12200)+10)/* var←c11432 */ ;
(* (ptr) tmpAddr30 ) = ( ((word) (fPt) Release←P1476) );
(* (( (ptr) tmpAddr30) + 1) ) = 1;
};
{
word tmpAddr31;
tmpAddr31 = (word) (( (ptr) &var←c12200)+12)/* var←c11464 */ ;
(* (ptr) tmpAddr31 ) = ( ((word) (fPt) Inhibit←P1416) );
(* (( (ptr) tmpAddr31) + 1) ) = 1;
};
SOURCE(6366, 31)
(* (( (ptr) &var←c12200)+14)/* node←v6844 */ ) = (word) Inhibit←P1416((* (( (ptr) &var←c12200)+4)/* x←v5592 */ ), window←v5620, (word) (
( (bPt) &var←c12200)+48)/* var←c11464 */ );
SOURCE(6399, 113)
found←v5760 = ((* (( (ptr) &var←c12200)+14)/* node←v6844 */ ) != 0);
if ((0 != found←v5760)) {
SOURCE(6426, 18)
quit←v5788 = 0;
}
else {
SOURCE(6444, 68)
{
/* declaration of var←c03 skipped */
{
word var←c0221;
var←c0221 = (word) &var←c12200;
(void) (word) XR←Enable(( ((word) (fPt) NoName←Q2952) ), ( ((word) (fPt) NoName←Q3252) ), var←c0221);
};
quit←v5788 = (* (( (ptr) &var←c12200)+15)/* var←c03 */ );
};
};
SOURCE(6514, 10)
(void) Release←P1476((* (( (ptr) &var←c12200)+4)/* x←v5592 */ ), (word) (( (bPt) &var←c12200)+40)/* var←c11432 */ );
/* removed tail goto */
(* (ptr) formal←c0126 ) = found←v5760;
(* (( (ptr) formal←c0126)+1) ) = quit←v5788;
return;
}
static word NoName←Q2952(formal←c0211)
word formal←c0211;
{
SOURCE(6444, 68)
(* (( (ptr) formal←c0211)+15) ) = (word) Enumerate←P1536((* (( (ptr) formal←c0211)+14) ), (* (( (ptr) formal←c0211)+5) ), (* (
( (ptr) formal←c0211)+6) ), (* (( (ptr) formal←c0211)+7) ), (word) (( (bPt) formal←c0211)+32));
return(0);
}
static word Inhibit←P1416(x←v6920, window←v6948, formal←c12232)
word x←v6920;
word window←v6948;
word formal←c12232;
{
word node←v6992;
word impl←v7280;
formal←c12232 = (formal←c12232 - 48);
/* Inhibit: */
SOURCE(5541, 971)
(void) (XR←MonitorEntry(x←v6920));
SOURCE(5541, 971)
node←v6992 = 0;
SOURCE(5613, 19)
impl←v7280 = (* (( (ptr) x←v6920)+4) );
SOURCE(5634, 41)
(* (( (ptr) impl←v7280)+2) ) = ((* (( (ptr) impl←v7280)+2) ) + 1);
SOURCE(5677, 835)
node←v6992 = (word) FindNode←P180(impl←v7280, window←v6948);
SOURCE(5541, 971)
(void) (XR←MonitorExit(x←v6920));
return(node←v6992);
}
static void Release←P1476(x←v7052, formal←c12264)
word x←v7052;
word formal←c12264;
{
word impl←v7324;
formal←c12264 = (formal←c12264 - 40);
/* Release: */
SOURCE(5711, 191)
(void) (XR←MonitorEntry(x←v7052));
SOURCE(5746, 19)
impl←v7324 = (* (( (ptr) x←v7052)+4) );
SOURCE(5767, 41)
(* (( (ptr) impl←v7324)+2) ) = ((* (( (ptr) impl←v7324)+2) ) - 1);
SOURCE(5810, 34)
if (( (int)(* (( (ptr) impl←v7324)+2) ) != (int)0)) {
SOURCE(5838, 6)
(void) (XR←MonitorExit(x←v7052));
return;
};
SOURCE(5846, 56)
lab←L100035: ;
if (( (int)(* (ptr) impl←v7324 ) > (int)(* (( (ptr) impl←v7324)+1) ))) {
}
else {
goto lab←L100033;
};
SOURCE(5882, 20)
(void) ReHash←P1020(impl←v7324);
goto lab←L100035;
lab←L100033: ;
SOURCE(5711, 191)
(void) (XR←MonitorExit(x←v7052));
return;
}
static word Enumerate←P1536(node←v7112, action←v7140, recurse←v7168, data←v7196, formal←c12296)
word node←v7112;
word action←v7140;
word recurse←v7168;
word data←v7196;
word formal←c12296;
{
word quit←v7252;
formal←c12296 = (formal←c12296 - 32);
/* Enumerate: */
SOURCE(5907, 605)
SOURCE(5907, 605)
quit←v7252 = 0;
SOURCE(6023, 489)
{
register word n←v7368;
n←v7368 = (* (( (ptr) node←v7112)+5) );
lab←L100039: ;
if ((n←v7368 != 0)) {
}
else {
goto lab←L100036;
};
SOURCE(6080, 432)
if ( ( ((* (( (ptr) n←v7368)+5) ) != 0) ? (recurse←v7168 == 2) : 0 ) ) {
SOURCE(6126, 386)
if ((0 != (word) Enumerate←P1536(n←v7368, action←v7140, recurse←v7168, data←v7196, (word) (( (bPt) formal←c12296)+32)))) {
SOURCE(6170, 13)
return(1);
};
};
SOURCE(6185, 327)
if ((0 != (word) ( *( (fPt) ((* (ptr) action←v7140 ))))((* (ptr) n←v7368 ), (* (( (ptr) n←v7368)+1) ), (* (ptr) node←v7112 ), data←v7196, action←v7140)
)) {
SOURCE(6236, 13)
return(1);
};
SOURCE(6251, 261)
if ( ( ((* (( (ptr) n←v7368)+5) ) != 0) ? (recurse←v7168 == 1) : 0 ) ) {
SOURCE(6296, 216)
if ((0 != (word) Enumerate←P1536(n←v7368, action←v7140, recurse←v7168, data←v7196, (word) (( (bPt) formal←c12296)+32)))) {
SOURCE(6340, 13)
return(1);
};
};
n←v7368 = (* (( (ptr) n←v7368)+6) );
goto lab←L100039;
lab←L100036: ;
};
SOURCE(5907, 605)
return(quit←v7252);
}
static word GetSize←P900(formal←c0247)
word formal←c0247;
{
W6 var←c12328;
/* declaration of x←v5848 skipped */
/* declaration of var←c04 skipped */
word var←c5892;
var←c12328.f4/* x←v5848 */ = formal←c0247;
/* GetSize: */
SOURCE(6530, 118)
(void) (XR←MonitorEntry(var←c12328.f4/* x←v5848 */ ));
SOURCE(6586, 62)
{
word var←c05;
{
word var←c0222;
var←c0222 = (word) &var←c12328;
var←c05 = (word) XR←Enable(( ((word) (fPt) NoName←Q3012) ), ( ((word) (fPt) NoName←Q3192) ), var←c0222);
};
/* removed trivial cond node */
};
return(var←c12328.f5/* var←c04 */ );
}
static word NoName←Q3012(formal←c0215)
word formal←c0215;
{
SOURCE(6609, 19)
{
word impl←v7412;
SOURCE(6609, 19)
impl←v7412 = (* (( (ptr) (* (( (ptr) formal←c0215)+4) ))+4) );
SOURCE(6630, 18)
{
word var←c11496;
var←c11496 = (* (ptr) impl←v7412 );
(void) (XR←MonitorExit(* (( (ptr) formal←c0215)+4) ));
(* (( (ptr) formal←c0215)+5) ) = var←c11496;
return(1);
};
};
/* c2c skipped dead code */
}
static void Erase←P960(formal←c0248)
word formal←c0248;
{
W5 var←c12360;
/* declaration of x←v5952 skipped */
var←c12360.f4/* x←v5952 */ = formal←c0248;
/* Erase: */
SOURCE(6654, 299)
(void) (XR←MonitorEntry(var←c12360.f4/* x←v5952 */ ));
SOURCE(6694, 259)
{
word var←c0223;
var←c0223 = (word) &var←c12360;
(void) (word) XR←Enable(( ((word) (fPt) NoName←Q3072) ), ( ((word) (fPt) NoName←Q3132) ), var←c0223);
};
SOURCE(6654, 299)
(void) (XR←MonitorExit(var←c12360.f4/* x←v5952 */ ));
return;
}
static word NoName←Q3072(formal←c0216)
word formal←c0216;
{
SOURCE(6717, 19)
{
word impl←v7456;
SOURCE(6717, 19)
impl←v7456 = (* (( (ptr) (* (( (ptr) formal←c0216)+4) ))+4) );
SOURCE(6738, 176)
{
register word i←v7500 = 0;
register word noName←c11528;
noName←c11528 = (* (ptr) (* (( (ptr) impl←v7456)+3) ) );
if ((i←v7500 >= noName←c11528)) {
goto lab←L100044;
};
lab←L100047: ;
{
word next←v7544 = 0;
SOURCE(6798, 78)
{
register word cur←v7588;
{
word var←c11560;
var←c11560 = (* (( (ptr) impl←v7456)+3) );
{
word limit32;
cur←v7588 = (* ((( (ptr) var←c11560)+1)+(
limit32 = (* (ptr) var←c11560 ),
BCK(i←v7500, limit32)
)) );
};
};
lab←L100051: ;
if ((cur←v7588 != 0)) {
}
else {
goto lab←L100048;
};
SOURCE(6850, 15)
next←v7544 = (* (( (ptr) cur←v7588)+3) );
SOURCE(6867, 9)
XR←FillWords(&(* (W9Pt) (cur←v7588)), 9, 0);
cur←v7588 = next←v7544;
goto lab←L100051;
lab←L100048: ;
};
SOURCE(6887, 27)
{
word var←c11592;
var←c11592 = (* (( (ptr) impl←v7456)+3) );
{
word limit33;
(* ((( (ptr) var←c11592)+1)+(
limit33 = (* (ptr) var←c11592 ),
BCK(i←v7500, limit33)
)) ) = 0;
};
};
};
i←v7500 = (i←v7500 + 1);
if ((i←v7500 < noName←c11528)) {
goto lab←L100047;
};
lab←L100044: ;
};
SOURCE(6916, 13)
(* (ptr) impl←v7456 ) = 0;
SOURCE(6931, 22)
{
word var←c11624;
var←c11624 = (* (( (ptr) impl←v7456)+4) );
XR←FillWords(&(* (W9Pt) (var←c11624)), 9, 0);
};
};
return(0);
}
static void ReHash←P1020(impl←v6012)
word impl←v6012;
{
register ptr gf←c12392 = (ptr) &globalframe;
word oldData←v7632;
word newData←v7660 = 0;
word seek←v7688;
register word newPTI←v7716 = 0;
word newMod←v7744 = 0;
/* ReHash: */
SOURCE(6959, 677)
SOURCE(6998, 28)
oldData←v7632 = (* (( (ptr) impl←v6012)+3) );
SOURCE(7046, 34)
seek←v7688 = ((* (ptr) (* (( (ptr) impl←v6012)+3) ) ) << 1);
SOURCE(7112, 54)
if (((* (( (ptr) (* (( (ptr) gf←c12392)+4)/* primeTable←v3280 */ ))+13) ) > 2147483647)) {
SOURCE(7166, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(7173, 90)
newPTI←v7716 = 0;
lab←L100055: ;
if ( ( ((newPTI←v7716 + 1) < 14) ? ((* (( (ptr) (* (( (ptr) gf←c12392)+4)/* primeTable←v3280 */ ))+BCK(newPTI←v7716, 14)
) ) < seek←v7688) : 0 ) ) {
}
else {
goto lab←L100052;
};
newPTI←v7716 = (newPTI←v7716 + 1);
goto lab←L100055;
lab←L100052: ;
SOURCE(7277, 27)
newMod←v7744 = (* (( (ptr) (* (( (ptr) gf←c12392)+4)/* primeTable←v3280 */ ))+BCK(newPTI←v7716, 14)) );
SOURCE(7306, 66)
if ((newMod←v7744 == (* (ptr) (* (( (ptr) impl←v6012)+3) ) ))) {
SOURCE(7338, 26)
(* (( (ptr) impl←v6012)+1) ) = 2147483647;
SOURCE(7366, 6)
return;
};
SOURCE(7375, 23)
(* (( (ptr) impl←v6012)+1) ) = SGNCK(newMod←v7744);
SOURCE(7400, 39)
{
word var←c11656;
{
word var←c11688;
word var←c11720;
word var←c11752;
var←c11688 = BCK(newMod←v7744, 67108863);
var←c11720 = (var←c11688 << 2);
var←c11752 = XR←NewObject((4 + var←c11720), (* (( (ptr) gf←c12392)+9) ));
(* (ptr) var←c11752 ) = var←c11688;
var←c11656 = var←c11752;
};
newData←v7660 = var←c11656;
(* (( (ptr) impl←v6012)+3) ) = var←c11656;
};
SOURCE(7441, 195)
{
register word i←v7812 = 0;
register word noName←c11784;
noName←c11784 = (* (ptr) oldData←v7632 );
if ((i←v7812 >= noName←c11784)) {
goto lab←L100056;
};
lab←L100059: ;
{
word next←v7856 = 0;
SOURCE(7498, 138)
{
register word cur←v7900;
{
word limit34;
cur←v7900 = (* ((( (ptr) oldData←v7632)+1)+(
limit34 = (* (ptr) oldData←v7632 ),
BCK(i←v7812, limit34)
)) );
};
lab←L100063: ;
if ((cur←v7900 != 0)) {
}
else {
goto lab←L100060;
};
SOURCE(7548, 39)
{
word var←c11816;
word window←v9236;
window←v9236 = (* (ptr) cur←v7900 );
{
word id←v9268;
id←v9268 = window←v9236;
SOURCE(926, 41)
{
word idx35;
var←c11816 = (
idx35 = (word) (( (((unsigned)id←v9268 << 17) >> 17) ) + (id←v9268 >> 15)),
BCK(idx35, 65536)
);
};
};
(* (( (ptr) cur←v7900)+8) ) = (var←c11816 % newMod←v7744);
};
SOURCE(7589, 15)
next←v7856 = (* (( (ptr) cur←v7900)+3) );
SOURCE(7606, 30)
{
word impl←v9416;
impl←v9416 = impl←v6012;
SOURCE(3734, 15)
(* (( (ptr) cur←v7900)+2) ) = 0;
SOURCE(3751, 2761)
{
word var←c11848;
var←c11848 = (* (( (ptr) impl←v9416)+3) );
{
word idx36;
word limit37;
(* (( (ptr) cur←v7900)+3) ) = (* ((( (ptr) var←c11848)+1)+(
idx36 = (* (( (ptr) cur←v7900)+8) ),
limit37 = (* (ptr) var←c11848 ),
BCK(idx36, limit37)
)) );
};
};
SOURCE(3786, 43)
if (((* (( (ptr) cur←v7900)+3) ) != 0)) {
SOURCE(3808, 21)
(* (( (ptr) (* (( (ptr) cur←v7900)+3) ))+2) ) = cur←v7900;
};
SOURCE(3831, 2681)
{
word var←c11880;
var←c11880 = (* (( (ptr) impl←v9416)+3) );
{
word idx38;
word limit39;
(* ((( (ptr) var←c11880)+1)+(
idx38 = (* (( (ptr) cur←v7900)+8) ),
limit39 = (* (ptr) var←c11880 ),
BCK(idx38, limit39)
)) ) = cur←v7900;
};
};
};
cur←v7900 = next←v7856;
goto lab←L100063;
lab←L100060: ;
};
};
i←v7812 = (i←v7812 + 1);
if ((i←v7812 < noName←c11784)) {
goto lab←L100059;
};
lab←L100056: ;
};
}
static void NoName←Q3132(formal←c0176, formal←c200020, formal←c200021, formal←c200022, formal←c200023)
word formal←c0176;
word formal←c200020;
word formal←c200021;
word formal←c200022;
word formal←c200023;
{
if ((formal←c200021 == XR←Unwind)) {
(void) (XR←MonitorExit(* (( (ptr) formal←c200020)+4) ));
};
(* (ptr) formal←c0176 ) = 0;
(* (( (ptr) formal←c0176)+1) ) = 0;
return;
}
static void NoName←Q3192(formal←c0181, formal←c200016, formal←c200017, formal←c200018, formal←c200019)
word formal←c0181;
word formal←c200016;
word formal←c200017;
word formal←c200018;
word formal←c200019;
{
if ((formal←c200017 == XR←Unwind)) {
(void) (XR←MonitorExit(* (( (ptr) formal←c200016)+4) ));
};
(* (ptr) formal←c0181 ) = 0;
(* (( (ptr) formal←c0181)+1) ) = 0;
return;
}
static void NoName←Q3252(formal←c0186, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
word formal←c0186;
word formal←c200012;
word formal←c200013;
word formal←c200014;
word formal←c200015;
{
if ((formal←c200013 == XR←Unwind)) {
SOURCE(6501, 11)
(void) Release←P1476((* (( (ptr) formal←c200012)+4) ), (word) (( (bPt) formal←c200012)+40));
};
(* (ptr) formal←c0186 ) = 0;
(* (( (ptr) formal←c0186)+1) ) = 0;
return;
}
static void NoName←Q3312(formal←c0191, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
word formal←c0191;
word formal←c200008;
word formal←c200009;
word formal←c200010;
word formal←c200011;
{
if ((formal←c200009 == XR←Unwind)) {
(void) (XR←MonitorExit(* (( (ptr) formal←c200008)+4) ));
};
(* (ptr) formal←c0191 ) = 0;
(* (( (ptr) formal←c0191)+1) ) = 0;
return;
}
static void NoName←Q3372(formal←c0196, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
word formal←c0196;
word formal←c200004;
word formal←c200005;
word formal←c200006;
word formal←c200007;
{
if ((formal←c200005 == XR←Unwind)) {
(void) (XR←MonitorExit(* (( (ptr) formal←c200004)+4) ));
};
(* (ptr) formal←c0196 ) = 0;
(* (( (ptr) formal←c0196)+1) ) = 0;
return;
}
static void NoName←Q3432(formal←c0201, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
word formal←c0201;
word formal←c200000;
word formal←c200001;
word formal←c200002;
word formal←c200003;
{
if ((formal←c200001 == XR←Unwind)) {
(void) (XR←MonitorExit(* (( (ptr) formal←c200000)+4) ));
};
(* (ptr) formal←c0201 ) = 0;
(* (( (ptr) formal←c0201)+1) ) = 0;
return;
}
/* file: XlAssocImpl, module: XlAssocImpl, compiled at: April 21, 1992 1:09:54 pm PDT */
extern void XR←install←XlAssocImpl() {
NoName←Q2712();
}
extern void XR←run←XlAssocImpl() { XR←Start(&globalframe); }