/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: October 19, 1993 1:03:48 pm PDT */ /* C2C version: April 20, 1993 (sun4) */ /* ref-counting: off */ /* file: TJaMArrayImpl, module: TJaMArrayImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [2193439576,2020879833] TJaMArrayImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef word (*fPt)(); typedef struct {word f0, f1;} W2; typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8; typedef struct {word f0, f1, f2, f3, f4, f5;} W6; #define SOURCE(p, l) /* source p, l */ #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) ) #define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i ) static void NoName←Q1884(); static void TJaMArrayImpl←P0(); static word NewArray←P60(); static word ACopy←P120(); static void AStore←P180(); static void ALoad←P240(); static void APut←P300(); static word AGet←P360(); static word ASub←P420(); static word AFind←P480(); static void ABind←P540(); static word ArrayForAll←P600(); static void ApplyArray←P660(); static void ApplyAPut←P720(); static void ApplyAGet←P780(); static void ApplySubArray←P840(); static void ApplyAFind←P900(); static void ApplyAStore←P960(); static void ApplyALoad←P1020(); static void ApplyABind←P1080(); static void ApplyArrayForAll←P1140(); static word proc←P1824(); static word NoName←Q1944(); static void NoName←Q2004(); 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[4];} string3 = {65540, "\251\000\000"}; static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\101\020\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\243\004\305\073\300\011\303\367\103\101\004\000\000"}; static struct {unsigned f; char r[16];} string7 = {786448, ".arrayforall\000\000\000"}; static struct {unsigned f; char r[8];} string8 = {458760, ".astore"}; static struct {unsigned f; char r[8];} string9 = {393224, ".aload\000"}; static struct {unsigned f; char r[8];} string10 = {393224, ".abind\000"}; static struct {unsigned f; char r[8];} string11 = {393224, ".afind\000"}; static struct {unsigned f; char r[12];} string12 = {589836, ".subarray\000\000"}; static struct {unsigned f; char r[8];} string13 = {327688, ".aput\000\000"}; static struct {unsigned f; char r[8];} string14 = {327688, ".aget\000\000"}; static struct {unsigned f; char r[8];} string15 = {393224, ".array\000"}; static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\202\275\073\130\300\170\164\055\331\100\164\000\000"}; static struct {unsigned f; char r[8];} string17 = {393222, "\006\001(\004A\377\000"}; static struct {unsigned f; char r[4];} string18 = {1414160717, "\000"}; static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\100\150\000\000"}; static struct { word f0[19]; 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; 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[3]; } globalframe = { {0}, (word) ApplyArrayForAll←P1140, 0, (word) ApplyABind←P1080, 0, (word) ApplyALoad←P1020, 0, (word) ApplyAStore←P960, 0, (word) ApplyAFind←P900, 0, (word) ApplySubArray←P840, 0, (word) ApplyAGet←P780, 0, (word) ApplyAPut←P720, 0, (word) ApplyArray←P660, 0, (word) ArrayForAll←P600, 0, (word) ABind←P540, 0, (word) AFind←P480, 0, (word) ASub←P420, 0, (word) AGet←P360, 0, (word) APut←P300, 0, (word) ALoad←P240, 0, (word) AStore←P180, 0, (word) ACopy←P120, 0, (word) NewArray←P60, 0, (word) TJaMArrayImpl←P0, {0} }; static void NoName←Q1884() { register ptr gf←c0147 = (ptr) &globalframe; word var←c13904; (* (( (ptr) gf←c0147)+5) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf←c0147)+7) ) = (word) XR←GetTypeIndexS((word) (&string3)); (* (( (ptr) gf←c0147)+8) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5); (* (( (ptr) gf←c0147)+9) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string2); (* (ptr) (( (bPt) gf←c0147)+40) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0147)+5) ), (word) &string7); (* (ptr) (( (bPt) gf←c0147)+44) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0147)+5) ), (word) &string8); (* (ptr) (( (bPt) gf←c0147)+48) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0147)+5) ), (word) &string9); (* (ptr) (( (bPt) gf←c0147)+52) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0147)+5) ), (word) &string10); (* (ptr) (( (bPt) gf←c0147)+56) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0147)+5) ), (word) &string11); (* (ptr) (( (bPt) gf←c0147)+60) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0147)+5) ), (word) &string12); (* (ptr) (( (bPt) gf←c0147)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0147)+5) ), (word) &string13); (* (ptr) (( (bPt) gf←c0147)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0147)+5) ), (word) &string14); (* (ptr) (( (bPt) gf←c0147)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0147)+5) ), (word) &string15); (void) XR←DeclareGlobalFrame((word) "TJaMArrayImpl", &globalframe, (word) XR←GetTypeIndex((word) &string16, 0, (word) &string17) , (word) (( (bPt) gf←c0147)+228)/* var←c12816 */ ); var←c13904 = (word) XR←ImportInterface((word) &string18, (word) XR←GetTypeIndexS((word) (&string19)), 101); (* (( (ptr) gf←c0147)+59)/* var←c12848 */ ) = var←c13904; (void) XR←ImportProcS(var←c13904, 548610); (void) XR←ImportProcS(var←c13904, 67382017); (void) XR←ImportProcS(var←c13904, 529922); (void) XR←ImportProcS(var←c13904, 530178); (void) XR←ImportProcS(var←c13904, 67381761); (void) XR←ImportProcS(var←c13904, 531970); (void) XR←ImportProcS(var←c13904, 67379969); (void) XR←ImportProcS(var←c13904, 134759682); (void) XR←ImportProcS(var←c13904, 67633410); (void) XR←ImportProcS(var←c13904, 529666); (void) XR←ImportProcS(var←c13904, 67379457); (void) XR←ImportProcS(var←c13904, 285441); (void) XR←ImportProcS(var←c13904, 812035); var←c13904 = (word) XR←ExportInterface((word) &string18, (word) XR←GetTypeIndexS((word) (&string19)), 101); (* (( (ptr) gf←c0147)+60)/* var←c13936 */ ) = var←c13904; (void) XR←ExportProcS(var←c13904, (word) (( (bPt) gf←c0147)+220)/* var←c12784 */ , 67385601, (word) "NewArray"); (void) XR←ExportProcS(var←c13904, (word) (( (bPt) gf←c0147)+212)/* var←c12752 */ , 67648002, (word) "ACopy"); (void) XR←ExportProcS(var←c13904, (word) (( (bPt) gf←c0147)+172)/* var←c12592 */ , 67910403, (word) "ASub"); (void) XR←ExportProcS(var←c13904, (word) (( (bPt) gf←c0147)+188)/* var←c12656 */ , 801795, (word) "APut"); (void) XR←ExportProcS(var←c13904, (word) (( (bPt) gf←c0147)+180)/* var←c12624 */ , 67648770, (word) "AGet"); (void) XR←ExportProcS(var←c13904, (word) (( (bPt) gf←c0147)+164)/* var←c12560 */ , 67649026, (word) "AFind"); (void) XR←ExportProcS(var←c13904, (word) (( (bPt) gf←c0147)+156)/* var←c12528 */ , 540418, (word) "ABind"); (void) XR←ExportProcS(var←c13904, (word) (( (bPt) gf←c0147)+148)/* var←c12496 */ , 67649538, (word) "ArrayForAll"); (void) XR←ExportProcS(var←c13904, (word) (( (bPt) gf←c0147)+204)/* var←c12720 */ , 540930, (word) "AStore"); (void) XR←ExportProcS(var←c13904, (word) (( (bPt) gf←c0147)+196)/* var←c12688 */ , 541186, (word) "ALoad"); } static void TJaMArrayImpl←P0(formal←c029, formal←c028) word formal←c029; word formal←c028; { register ptr gf←c13968 = (ptr) &globalframe; /* TJaMArrayImpl: */ SOURCE(18, 3895) SOURCE(3530, 39) { word pd20; pd20 = (* (( (ptr) (* (( (ptr) gf←c13968)+59)/* var←c12848 */ ))+104) ); (void) ( *( (fPt) ((* (ptr) pd20 ))))((* (( (ptr) gf←c13968)+18) ), (word) (( (bPt) gf←c13968)+140)/* var←c12464 */ , 0, pd20) ; }; SOURCE(3571, 37) { word pd21; pd21 = (* (( (ptr) (* (( (ptr) gf←c13968)+59)/* var←c12848 */ ))+104) ); (void) ( *( (fPt) ((* (ptr) pd21 ))))((* (( (ptr) gf←c13968)+17) ), (word) (( (bPt) gf←c13968)+124)/* var←c12400 */ , 0, pd21) ; }; SOURCE(3610, 37) { word pd22; pd22 = (* (( (ptr) (* (( (ptr) gf←c13968)+59)/* var←c12848 */ ))+104) ); (void) ( *( (fPt) ((* (ptr) pd22 ))))((* (( (ptr) gf←c13968)+16) ), (word) (( (bPt) gf←c13968)+132)/* var←c12432 */ , 0, pd22) ; }; SOURCE(3649, 45) { word pd23; pd23 = (* (( (ptr) (* (( (ptr) gf←c13968)+59)/* var←c12848 */ ))+104) ); (void) ( *( (fPt) ((* (ptr) pd23 ))))((* (( (ptr) gf←c13968)+15) ), (word) (( (bPt) gf←c13968)+116)/* var←c12368 */ , 0, pd23) ; }; SOURCE(3696, 51) { word pd24; pd24 = (* (( (ptr) (* (( (ptr) gf←c13968)+59)/* var←c12848 */ ))+104) ); (void) ( *( (fPt) ((* (ptr) pd24 ))))((* (( (ptr) gf←c13968)+10) ), (word) (( (bPt) gf←c13968)+76)/* var←c12208 */ , 0, pd24) ; }; SOURCE(3749, 41) { word pd25; pd25 = (* (( (ptr) (* (( (ptr) gf←c13968)+59)/* var←c12848 */ ))+104) ); (void) ( *( (fPt) ((* (ptr) pd25 ))))((* (( (ptr) gf←c13968)+11) ), (word) (( (bPt) gf←c13968)+100)/* var←c12304 */ , 0, pd25) ; }; SOURCE(3792, 39) { word pd26; pd26 = (* (( (ptr) (* (( (ptr) gf←c13968)+59)/* var←c12848 */ ))+104) ); (void) ( *( (fPt) ((* (ptr) pd26 ))))((* (( (ptr) gf←c13968)+12) ), (word) (( (bPt) gf←c13968)+92)/* var←c12272 */ , 0, pd26) ; }; SOURCE(3833, 39) { word pd27; pd27 = (* (( (ptr) (* (( (ptr) gf←c13968)+59)/* var←c12848 */ ))+104) ); (void) ( *( (fPt) ((* (ptr) pd27 ))))((* (( (ptr) gf←c13968)+13) ), (word) (( (bPt) gf←c13968)+84)/* var←c12240 */ , 0, pd27) ; }; SOURCE(3874, 39) { word pd28; pd28 = (* (( (ptr) (* (( (ptr) gf←c13968)+59)/* var←c12848 */ ))+104) ); (void) ( *( (fPt) ((* (ptr) pd28 ))))((* (( (ptr) gf←c13968)+14) ), (word) (( (bPt) gf←c13968)+108)/* var←c12336 */ , 0, pd28) ; }; } static word NewArray←P60(len←v3052) word len←v3052; { register ptr gf←c14000 = (ptr) &globalframe; word var←c3096; /* NewArray: */ SOURCE(161, 189) SOURCE(212, 63) if (( (int)len←v3052 < (int)0) || ( (int)len←v3052 >= (int)536870910)) { SOURCE(250, 25) { word pd29; pd29 = (* (( (ptr) (* (( (ptr) gf←c14000)+59)/* var←c12848 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd29 ))))(3, pd29); }; }; SOURCE(277, 73) { word var←c12944; word var←c12976; word var←c13008; word var←c12912; word var←c13040; var←c12944 = BCK(len←v3052, 67108863); var←c12976 = ((word) var←c12944 << 2); var←c13008 = XR←NewObject((4 + var←c12976), (* (( (ptr) gf←c14000)+8) )); (* (ptr) var←c13008 ) = var←c12944; var←c12912 = var←c13008; var←c13040 = XR←NewObject(12, (* (( (ptr) gf←c14000)+9) )); (* (ptr) var←c13040 ) = var←c12912; (* (( (ptr) var←c13040)+2) ) = SGNCK(len←v3052); return(var←c13040); }; } static word ACopy←P120(array←v3156, expand←v3184) word array←v3156; word expand←v3184; { register ptr gf←c14032 = (ptr) &globalframe; word new←v3228; word rem←v4192; /* ACopy: */ SOURCE(356, 269) SOURCE(356, 269) new←v3228 = 0; SOURCE(430, 35) rem←v4192 = (536870910 - (* (( (ptr) array←v3156)+2) )); SOURCE(467, 55) if (( (int)expand←v3184 < (int)0) || ( (int)expand←v3184 >= (int)rem←v4192)) { SOURCE(497, 25) { word pd30; pd30 = (* (( (ptr) (* (( (ptr) gf←c14032)+59)/* var←c12848 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd30 ))))(3, pd30); }; }; SOURCE(524, 32) new←v3228 = (word) NewArray←P60(((* (( (ptr) array←v3156)+2) ) + expand←v3184)); SOURCE(558, 67) { register word i←v4236 = 0; register word noName←c13072; noName←c13072 = (* (( (ptr) array←v3156)+2) ); if ((i←v4236 >= noName←c13072)) { goto lab←L100000; }; lab←L100003: ; SOURCE(589, 36) { word var←c13104; var←c13104 = (word) AGet←P360(array←v3156, i←v4236); (void) APut←P300(new←v3228, i←v4236, var←c13104); }; i←v4236 = (i←v4236 + 1); if ((i←v4236 < noName←c13072)) { goto lab←L100003; }; lab←L100000: ; }; SOURCE(356, 269) return(new←v3228); } static void AStore←P180(frame←v3288, array←v3316) word frame←v3288; word array←v3316; { register ptr gf←c14064 = (ptr) &globalframe; /* AStore: */ SOURCE(631, 120) SOURCE(683, 68) { register word i←v4280; i←v4280 = (* (( (ptr) array←v3316)+2) ); if ((0 >= i←v4280)) { goto lab←L100004; }; i←v4280 = (i←v4280 - 1); lab←L100007: ; SOURCE(725, 26) { word var←c13136; { word pd31; pd31 = (* (( (ptr) (* (( (ptr) gf←c14064)+59)/* var←c12848 */ ))+37) ); var←c13136 = (word) ( *( (fPt) ((* (ptr) pd31 ))))(frame←v3288, pd31); }; (void) APut←P300(array←v3316, i←v4280, var←c13136); }; if ((0 >= i←v4280)) { goto lab←L100004; }; i←v4280 = (i←v4280 - 1); goto lab←L100007; lab←L100004: ; }; } static void ALoad←P240(frame←v3376, array←v3404) word frame←v3376; word array←v3404; { register ptr gf←c14096 = (ptr) &globalframe; /* ALoad: */ SOURCE(766, 109) SOURCE(817, 58) { register word i←v4324 = 0; register word noName←c13168; noName←c13168 = (* (( (ptr) array←v3404)+2) ); if ((i←v4324 >= noName←c13168)) { goto lab←L100008; }; lab←L100011: ; SOURCE(848, 27) { word var←c13200; var←c13200 = (word) AGet←P360(array←v3404, i←v4324); { word pd32; pd32 = (* (( (ptr) (* (( (ptr) gf←c14096)+59)/* var←c12848 */ ))+25) ); (void) ( *( (fPt) ((* (ptr) pd32 ))))(frame←v3376, var←c13200, pd32); }; }; i←v4324 = (i←v4324 + 1); if ((i←v4324 < noName←c13168)) { goto lab←L100011; }; lab←L100008: ; }; } static void APut←P300(array←v3464, i←v3492, val←v3520) word array←v3464; word i←v3492; word val←v3520; { register ptr gf←c14128 = (ptr) &globalframe; /* APut: */ SOURCE(890, 143) SOURCE(944, 56) if (( (int)i←v3492 < (int)0) || ( (int)i←v3492 >= (int)(* (( (ptr) array←v3464)+2) ))) { SOURCE(975, 25) { word pd33; pd33 = (* (( (ptr) (* (( (ptr) gf←c14128)+59)/* var←c12848 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd33 ))))(3, pd33); }; }; SOURCE(1002, 31) { word var←c13232; word var←c13264; var←c13232 = ((* (( (ptr) array←v3464)+1) ) + i←v3492); var←c13264 = (* (ptr) array←v3464 ); { word limit34; (* ((( (ptr) var←c13264)+1)+( limit34 = (* (ptr) var←c13264 ), BCK(var←c13232, limit34) )) ) = val←v3520; }; }; } static word AGet←P360(array←v3580, i←v3608) word array←v3580; word i←v3608; { register ptr gf←c14160 = (ptr) &globalframe; word var←c3652; /* AGet: */ SOURCE(1039, 148) SOURCE(1096, 56) if (( (int)i←v3608 < (int)0) || ( (int)i←v3608 >= (int)(* (( (ptr) array←v3580)+2) ))) { SOURCE(1127, 25) { word pd35; pd35 = (* (( (ptr) (* (( (ptr) gf←c14160)+59)/* var←c12848 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd35 ))))(3, pd35); }; }; SOURCE(1154, 33) { word var←c13296; word var←c13328; var←c13296 = ((* (( (ptr) array←v3580)+1) ) + i←v3608); var←c13328 = (* (ptr) array←v3580 ); { word limit36; return((* ((( (ptr) var←c13328)+1)+( limit36 = (* (ptr) var←c13328 ), BCK(var←c13296, limit36) )) )); }; }; } static word ASub←P420(array←v3712, start←v3740, len←v3768) word array←v3712; word start←v3740; word len←v3768; { register ptr gf←c14192 = (ptr) &globalframe; word var←c3812; /* ASub: */ SOURCE(1193, 242) SOURCE(1261, 94) if ((( (int)start←v3740 < (int)0) || ( (int)start←v3740 > (int)(* (( (ptr) array←v3712)+2) ))) || ( ( (int)len←v3768 < (int)0) ? 1 : ( (int)len←v3768 > (int)((* ( ( (ptr) array←v3712)+2) ) - start←v3740)) ) ) { SOURCE(1330, 25) { word pd37; pd37 = (* (( (ptr) (* (( (ptr) gf←c14192)+59)/* var←c12848 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd37 ))))(3, pd37); }; }; SOURCE(1357, 78) { word var←c13392; var←c13392 = XR←NewObject(12, (* (( (ptr) gf←c14192)+9) )); (* (ptr) var←c13392 ) = (* (ptr) array←v3712 ); { word idx38; (* (( (ptr) var←c13392)+1) ) = ( idx38 = (word) ((* (( (ptr) array←v3712)+1) ) + start←v3740), SGNCK(idx38) ); }; (* (( (ptr) var←c13392)+2) ) = SGNCK(len←v3768); return(var←c13392); }; } static word AFind←P480(array←v3872, val←v3900) word array←v3872; word val←v3900; { register ptr gf←c14224 = (ptr) &globalframe; word var←c3944; /* AFind: */ SOURCE(1441, 168) SOURCE(1501, 87) { register word i←v4368 = 0; register word noName←c13424; noName←c13424 = (* (( (ptr) array←v3872)+2) ); if (( (int)i←v4368 >= (int)noName←c13424)) { goto lab←L100012; }; lab←L100015: ; { word x←v4412; SOURCE(1532, 23) x←v4412 = (word) AGet←P360(array←v3872, i←v4368); SOURCE(1557, 31) { word pd39; pd39 = (* (( (ptr) (* (( (ptr) gf←c14224)+59)/* var←c12848 */ ))+5) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd39 ))))(x←v4412, val←v3900, pd39))) { SOURCE(1579, 9) return(i←v4368); }; }; }; i←v4368 = (i←v4368 + 1); if (( (int)i←v4368 < (int)noName←c13424)) { goto lab←L100015; }; lab←L100012: ; }; SOURCE(1599, 10) return( (word) -1); } static void ABind←P540(array←v4004, dict←v4032) word array←v4004; word dict←v4032; { register ptr gf←c14256 = (ptr) &globalframe; /* ABind: */ SOURCE(1639, 264) SOURCE(1688, 215) { register word i←v4456 = 0; register word noName←c13456; noName←c13456 = (* (( (ptr) array←v4004)+2) ); if (( (int)i←v4456 >= (int)noName←c13456)) { goto lab←L100016; }; lab←L100019: ; { word x←v4500; SOURCE(1719, 23) x←v4500 = (word) AGet←P360(array←v4004, i←v4456); SOURCE(1744, 159) { word var←c13488; word var←c13520; var←c13488 = x←v4500; if ((var←c13488 == 0)) { goto lab←L100020; }; var←c13520 = XR←GetReferentType(var←c13488); if (((* (( (ptr) gf←c14256)+7) ) == var←c13520)) { { word x←v4544; x←v4544 = var←c13488; SOURCE(1774, 100) { word known←v4588; word value←v4616 = 0; SOURCE(1801, 34) { W2 var←c13552; { word pd40; pd40 = (* (( (ptr) (* (( (ptr) gf←c14256)+59)/* var←c12848 */ ))+73) ); (void) ( *( (fPt) ((* (ptr) pd40 ))))((word) &var←c13552, dict←v4032, x←v4544, pd40); }; value←v4616 = var←c13552.f1; known←v4588 = var←c13552.f0; }; SOURCE(1837, 35) if ((0 != known←v4588)) { SOURCE(1851, 21) (void) APut←P300(array←v4004, i←v4456, value←v4616); }; }; }; } else { if (((* (( (ptr) gf←c14256)+9) ) == var←c13520)) { { word x←v4660; x←v4660 = var←c13488; SOURCE(1889, 14) (void) ABind←P540(x←v4660, dict←v4032); }; } else { lab←L100020: ; }; }; }; }; i←v4456 = (i←v4456 + 1); if (( (int)i←v4456 < (int)noName←c13456)) { goto lab←L100019; }; lab←L100016: ; }; } static word ArrayForAll←P600(array←v4092, action←v4120) word array←v4092; word action←v4120; { word var←c4164; /* ArrayForAll: */ SOURCE(1968, 174) SOURCE(2044, 74) { register word i←v4704 = 0; register word noName←c13584; word var←c13616; noName←c13584 = (* (( (ptr) array←v4092)+2) ); if (( (int)i←v4704 >= (int)noName←c13584)) { goto lab←L100021; }; lab←L100024: ; SOURCE(2075, 43) var←c13616 = (word) AGet←P360(array←v4092, i←v4704); if ((0 != (word) ( *( (fPt) ((* (ptr) action←v4120 ))))(var←c13616, action←v4120))) { SOURCE(2106, 12) return(1); }; i←v4704 = (i←v4704 + 1); if (( (int)i←v4704 < (int)noName←c13584)) { goto lab←L100024; }; lab←L100021: ; }; SOURCE(2129, 13) return(0); } static void ApplyArray←P660(frame←v6528, cmd←v6556) word frame←v6528; word cmd←v6556; { register ptr gf←c14288 = (ptr) &globalframe; word n←v4748; /* ApplyArray: */ SOURCE(2149, 81) SOURCE(2177, 22) { word pd41; pd41 = (* (( (ptr) (* (( (ptr) gf←c14288)+59)/* var←c12848 */ ))+39) ); n←v4748 = (word) ( *( (fPt) ((* (ptr) pd41 ))))(frame←v6528, pd41); }; SOURCE(2201, 29) { word var←c13648; var←c13648 = (word) NewArray←P60(n←v4748); { word pd42; pd42 = (* (( (ptr) (* (( (ptr) gf←c14288)+59)/* var←c12848 */ ))+34) ); (void) ( *( (fPt) ((* (ptr) pd42 ))))(frame←v6528, var←c13648, pd42); }; }; } static void ApplyAPut←P720(frame←v6616, cmd←v6644) word frame←v6616; word cmd←v6644; { register ptr gf←c14320 = (ptr) &globalframe; word x←v4792; word i←v4820; word array←v4848; /* ApplyAPut: */ SOURCE(2236, 121) SOURCE(2263, 19) { word pd43; pd43 = (* (( (ptr) (* (( (ptr) gf←c14320)+59)/* var←c12848 */ ))+37) ); x←v4792 = (word) ( *( (fPt) ((* (ptr) pd43 ))))(frame←v6616, pd43); }; SOURCE(2284, 22) { word pd44; pd44 = (* (( (ptr) (* (( (ptr) gf←c14320)+59)/* var←c12848 */ ))+39) ); i←v4820 = (word) ( *( (fPt) ((* (ptr) pd44 ))))(frame←v6616, pd44); }; SOURCE(2308, 30) { word pd45; pd45 = (* (( (ptr) (* (( (ptr) gf←c14320)+59)/* var←c12848 */ ))+46) ); array←v4848 = (word) ( *( (fPt) ((* (ptr) pd45 ))))(frame←v6616, pd45); }; SOURCE(2340, 17) (void) APut←P300(array←v4848, i←v4820, x←v4792); } static void ApplyAGet←P780(frame←v6704, cmd←v6732) word frame←v6704; word cmd←v6732; { register ptr gf←c14352 = (ptr) &globalframe; word i←v4892; word array←v4920; /* ApplyAGet: */ SOURCE(2363, 110) SOURCE(2390, 22) { word pd46; pd46 = (* (( (ptr) (* (( (ptr) gf←c14352)+59)/* var←c12848 */ ))+39) ); i←v4892 = (word) ( *( (fPt) ((* (ptr) pd46 ))))(frame←v6704, pd46); }; SOURCE(2414, 30) { word pd47; pd47 = (* (( (ptr) (* (( (ptr) gf←c14352)+59)/* var←c12848 */ ))+46) ); array←v4920 = (word) ( *( (fPt) ((* (ptr) pd47 ))))(frame←v6704, pd47); }; SOURCE(2446, 27) { word var←c13680; var←c13680 = (word) AGet←P360(array←v4920, i←v4892); { word pd48; pd48 = (* (( (ptr) (* (( (ptr) gf←c14352)+59)/* var←c12848 */ ))+25) ); (void) ( *( (fPt) ((* (ptr) pd48 ))))(frame←v6704, var←c13680, pd48); }; }; } static void ApplySubArray←P840(frame←v6792, cmd←v6820) word frame←v6792; word cmd←v6820; { register ptr gf←c14384 = (ptr) &globalframe; word len←v4964; word start←v4992; word array←v5020; /* ApplySubArray: */ SOURCE(2479, 158) SOURCE(2510, 24) { word pd49; pd49 = (* (( (ptr) (* (( (ptr) gf←c14384)+59)/* var←c12848 */ ))+39) ); len←v4964 = (word) ( *( (fPt) ((* (ptr) pd49 ))))(frame←v6792, pd49); }; SOURCE(2536, 26) { word pd50; pd50 = (* (( (ptr) (* (( (ptr) gf←c14384)+59)/* var←c12848 */ ))+39) ); start←v4992 = (word) ( *( (fPt) ((* (ptr) pd50 ))))(frame←v6792, pd50); }; SOURCE(2564, 30) { word pd51; pd51 = (* (( (ptr) (* (( (ptr) gf←c14384)+59)/* var←c12848 */ ))+46) ); array←v5020 = (word) ( *( (fPt) ((* (ptr) pd51 ))))(frame←v6792, pd51); }; SOURCE(2596, 41) { word var←c13712; var←c13712 = (word) ASub←P420(array←v5020, start←v4992, len←v4964); { word pd52; pd52 = (* (( (ptr) (* (( (ptr) gf←c14384)+59)/* var←c12848 */ ))+34) ); (void) ( *( (fPt) ((* (ptr) pd52 ))))(frame←v6792, var←c13712, pd52); }; }; } static void ApplyAFind←P900(frame←v6880, cmd←v6908) word frame←v6880; word cmd←v6908; { register ptr gf←c14416 = (ptr) &globalframe; word x←v5064; word array←v5092; word i←v5120; word found←v5148; /* ApplyAFind: */ SOURCE(2643, 182) SOURCE(2671, 19) { word pd53; pd53 = (* (( (ptr) (* (( (ptr) gf←c14416)+59)/* var←c12848 */ ))+37) ); x←v5064 = (word) ( *( (fPt) ((* (ptr) pd53 ))))(frame←v6880, pd53); }; SOURCE(2692, 30) { word pd54; pd54 = (* (( (ptr) (* (( (ptr) gf←c14416)+59)/* var←c12848 */ ))+46) ); array←v5092 = (word) ( *( (fPt) ((* (ptr) pd54 ))))(frame←v6880, pd54); }; SOURCE(2724, 24) i←v5120 = (word) AFind←P480(array←v5092, x←v5064); SOURCE(2750, 18) found←v5148 = (unsigned) ( (int)i←v5120 >= (int)0); SOURCE(2770, 31) if ((0 != found←v5148)) { SOURCE(2784, 17) { word pd55; pd55 = (* (( (ptr) (* (( (ptr) gf←c14416)+59)/* var←c12848 */ ))+27) ); (void) ( *( (fPt) ((* (ptr) pd55 ))))(frame←v6880, i←v5120, pd55); }; }; SOURCE(2803, 22) { word pd56; pd56 = (* (( (ptr) (* (( (ptr) gf←c14416)+59)/* var←c12848 */ ))+26) ); (void) ( *( (fPt) ((* (ptr) pd56 ))))(frame←v6880, found←v5148, pd56); }; } static void ApplyAStore←P960(frame←v6968, cmd←v6996) word frame←v6968; word cmd←v6996; { register ptr gf←c14448 = (ptr) &globalframe; word array←v5192; /* ApplyAStore: */ SOURCE(2831, 162) SOURCE(2860, 30) { word pd57; pd57 = (* (( (ptr) (* (( (ptr) gf←c14448)+59)/* var←c12848 */ ))+46) ); array←v5192 = (word) ( *( (fPt) ((* (ptr) pd57 ))))(frame←v6968, pd57); }; SOURCE(2892, 76) { register word i←v5236; i←v5236 = (* (( (ptr) array←v5192)+2) ); if (( (int)0 >= (int)i←v5236)) { goto lab←L100025; }; i←v5236 = (i←v5236 - 1); lab←L100028: ; SOURCE(2934, 34) { word var←c13744; { word pd58; pd58 = (* (( (ptr) (* (( (ptr) gf←c14448)+59)/* var←c12848 */ ))+37) ); var←c13744 = (word) ( *( (fPt) ((* (ptr) pd58 ))))(frame←v6968, pd58); }; (void) APut←P300(array←v5192, i←v5236, var←c13744); }; if (( (int)0 >= (int)i←v5236)) { goto lab←L100025; }; i←v5236 = (i←v5236 - 1); goto lab←L100028; lab←L100025: ; }; SOURCE(2970, 23) { word pd59; pd59 = (* (( (ptr) (* (( (ptr) gf←c14448)+59)/* var←c12848 */ ))+34) ); (void) ( *( (fPt) ((* (ptr) pd59 ))))(frame←v6968, array←v5192, pd59); }; } static void ApplyALoad←P1020(frame←v7056, cmd←v7084) word frame←v7056; word cmd←v7084; { register ptr gf←c14480 = (ptr) &globalframe; word array←v5280; /* ApplyALoad: */ SOURCE(2999, 151) SOURCE(3027, 30) { word pd60; pd60 = (* (( (ptr) (* (( (ptr) gf←c14480)+59)/* var←c12848 */ ))+46) ); array←v5280 = (word) ( *( (fPt) ((* (ptr) pd60 ))))(frame←v7056, pd60); }; SOURCE(3059, 66) { register word i←v5324 = 0; register word noName←c13776; noName←c13776 = (* (( (ptr) array←v5280)+2) ); if (( (int)i←v5324 >= (int)noName←c13776)) { goto lab←L100029; }; lab←L100032: ; SOURCE(3090, 35) { word var←c13808; var←c13808 = (word) AGet←P360(array←v5280, i←v5324); { word pd61; pd61 = (* (( (ptr) (* (( (ptr) gf←c14480)+59)/* var←c12848 */ ))+25) ); (void) ( *( (fPt) ((* (ptr) pd61 ))))(frame←v7056, var←c13808, pd61); }; }; i←v5324 = (i←v5324 + 1); if (( (int)i←v5324 < (int)noName←c13776)) { goto lab←L100032; }; lab←L100029: ; }; SOURCE(3127, 23) { word pd62; pd62 = (* (( (ptr) (* (( (ptr) gf←c14480)+59)/* var←c12848 */ ))+34) ); (void) ( *( (fPt) ((* (ptr) pd62 ))))(frame←v7056, array←v5280, pd62); }; } static void ApplyABind←P1080(frame←v7144, cmd←v7172) word frame←v7144; word cmd←v7172; { register ptr gf←c14512 = (ptr) &globalframe; word dict←v5368; word array←v5396; /* ApplyABind: */ SOURCE(3156, 107) SOURCE(3184, 27) { word pd63; pd63 = (* (( (ptr) (* (( (ptr) gf←c14512)+59)/* var←c12848 */ ))+47) ); dict←v5368 = (word) ( *( (fPt) ((* (ptr) pd63 ))))(frame←v7144, pd63); }; SOURCE(3213, 30) { word pd64; pd64 = (* (( (ptr) (* (( (ptr) gf←c14512)+59)/* var←c12848 */ ))+46) ); array←v5396 = (word) ( *( (fPt) ((* (ptr) pd64 ))))(frame←v7144, pd64); }; SOURCE(3245, 18) (void) ABind←P540(array←v5396, dict←v5368); } static void ApplyArrayForAll←P1140(formal←c0176, cmd←v7260) word formal←c0176; word cmd←v7260; { W8 var←c14544; /* declaration of frame←v7232 skipped */ register ptr gf←c14576 = (ptr) &globalframe; /* declaration of var←c13840 skipped */ /* declaration of action←v5440 skipped */ word array←v5468; var←c14544.f4/* frame←v7232 */ = formal←c0176; /* ApplyArrayForAll: */ SOURCE(3269, 255) { word tmpAddr65; tmpAddr65 = (word) (( (ptr) &var←c14544)+5)/* var←c13840 */ ; (* (ptr) tmpAddr65 ) = ( ((word) (fPt) proc←P1824) ); (* (( (ptr) tmpAddr65) + 1) ) = 1; }; SOURCE(3303, 24) { word pd66; pd66 = (* (( (ptr) (* (( (ptr) gf←c14576)+59)/* var←c12848 */ ))+37) ); var←c14544.f7/* action←v5440 */ = (word) ( *( (fPt) ((* (ptr) pd66 ))))(var←c14544.f4/* frame←v7232 */ , pd66); }; SOURCE(3329, 30) { word pd67; pd67 = (* (( (ptr) (* (( (ptr) gf←c14576)+59)/* var←c12848 */ ))+46) ); array←v5468 = (word) ( *( (fPt) ((* (ptr) pd67 ))))(var←c14544.f4/* frame←v7232 */ , pd67); }; SOURCE(3495, 29) { word var←c13872; var←c13872 = (word) ArrayForAll←P600(array←v5468, (word) (( (bPt) &var←c14544)+20)/* var←c13840 */ ); }; } static word proc←P1824(val←v5572, formal←c14672) word val←v5572; word formal←c14672; { W6 var←c14608; register ptr gf←c14640 = (ptr) &globalframe; /* declaration of quit←v5616 skipped */ formal←c14672 = (formal←c14672 - 20); var←c14608.f0 = formal←c14672; /* proc: */ SOURCE(3361, 116) SOURCE(3361, 116) var←c14608.f4/* quit←v5616 */ = 0; SOURCE(3414, 16) { word pd68; pd68 = (* (( (ptr) (* (( (ptr) gf←c14640)+59)/* var←c12848 */ ))+25) ); (void) ( *( (fPt) ((* (ptr) pd68 ))))((* (( (ptr) formal←c14672)+4) ), val←v5572, pd68); }; SOURCE(3432, 45) SOURCE(3432, 45) { /* declaration of var←c01 skipped */ var←c14608.f5/* var←c01 */ = (* (( (ptr) (* (( (ptr) gf←c14640)+59)/* var←c12848 */ ))+99) ); { word var←c02; { word var←c0171; var←c0171 = (word) &var←c14608; var←c02 = (word) XR←Enable(( ((word) (fPt) NoName←Q1944) ), ( ((word) (fPt) NoName←Q2004) ), var←c0171); }; /* removed trivial cond node */ }; }; SOURCE(3361, 116) return(var←c14608.f4/* quit←v5616 */ ); } static word NoName←Q1944(formal←c0169) word formal←c0169; { SOURCE(3432, 45) { word pd69; pd69 = (* (( (ptr) formal←c0169)+5) ); (void) ( *( (fPt) ((* (ptr) pd69 ))))((* (( (ptr) (* (ptr) formal←c0169 ))+4) ), (* (( (ptr) (* (ptr) formal←c0169 ))+7) ), pd69); }; return(0); } static void NoName←Q2004(formal←c0146, formal←c200000, formal←c200001, formal←c200002, formal←c200003) word formal←c0146; word formal←c200000; word formal←c200001; word formal←c200002; word formal←c200003; { register ptr gf←c0170 = (ptr) &globalframe; if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0170)+59)/* var←c12848 */ ))+93) ))) { SOURCE(3466, 11) (* (( (ptr) formal←c200000)+4) ) = 1; SOURCE(3479, 9) (* (ptr) formal←c0146 ) = 2; (* (( (ptr) formal←c0146)+1) ) = 2; return; }; (* (ptr) formal←c0146 ) = 0; (* (( (ptr) formal←c0146)+1) ) = 0; return; } /* file: TJaMArrayImpl, module: TJaMArrayImpl, compiled at: October 19, 1993 1:03:48 pm PDT */ extern void XR←install←TJaMArrayImpl() { NoName←Q1884(); } extern void XR←run←TJaMArrayImpl() { XR←Start(&globalframe); }