/* 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); }