/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: July 11, 1993 8:07:36 pm PDT */ /* C2C version: April 20, 1993 (sun4) */ /* ref-counting: off */ /* file: GGPropsImpl, module: GGPropsImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [3032841484,4060125307] GGPropsImpl"; 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 {word f0, f1;} W2; typedef word (*fPt)(); typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7; typedef struct {W8 f; word r;} W9; typedef struct {W8 f; W2 r;} W10; typedef struct {word f0, f1, f2, f3, f4, f5;} W6; typedef struct {word f0, f1, f2;} W3; typedef W3 *W3Pt; #define SOURCE(p, l) /* source p, l */ static void NoName←Q2292(); static void GGPropsImpl←P0(); static void Put←P60(); static word DoPut←P1380(); static void PutAll←P120(); static word DoPut←P1440(); static void Get←P180(); static word DoGet←P1500(); static word Rem←P240(); static word DoRem←P1560(); static word Copy←P300(); static word Walk←P360(); static word DoMap←P1620(); static word DoWalk←P1680(); static void Kill←P420(); static word DoKill←P1740(); static void CopyAll←P480(); static word DoCopyProc←P1800(); static void ToRope←P540(); static word NoName←Q2352(); static word FromRope←P600(); static word NoName←Q2412(); static word NoName←Q2472(); static void Register←P660(); static void Init←P720(); static word IdentityCopy←P780(); static void RegisterTestProcs←P840(); static word FileInInt←P900(); static word FileOutInt←P960(); static word FileInReal←P1020(); static word FileOutReal←P1080(); static word FileInAtom←P1140(); static word FileOutAtom←P1200(); static word FileInRope←P1260(); static word FileOutRope←P1320(); static void NoName←Q2532(); static void NoName←Q2592(); static void NoName←Q2652(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\264\305\175\014\300\362\000\230\173\101\114\000\000"}; static struct {unsigned f; char r[4];} string2 = {65540, "\251\000\000"}; static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"}; static struct {unsigned f; char r[24];} string4 = {1376277, "\007\000\001\002\007\020\001\002\000\007\036\002\004\003\002\004\014\016\015\003\001\000\000"}; static struct {unsigned f; char r[4];} string5 = {65540, "\242\000\000"}; static struct {unsigned f; char r[4];} string6 = {65540, "\241\000\000"}; static struct {unsigned f; char r[4];} string7 = {65540, "\256\000\000"}; static struct {unsigned f; char r[4];} string8 = {65540, "\232\000\000"}; static struct {unsigned f; char r[16];} string9 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"}; static struct {unsigned f; char r[4];} string10 = {65537, "\001\000\000"}; static struct {unsigned f; char r[4];} string11 = {131076, "\216\251\000"}; static struct {unsigned f; char r[4];} string12 = {196612, "int"}; static struct {unsigned f; char r[8];} string13 = {262152, "real\000\000\000"}; static struct {unsigned f; char r[8];} string14 = {262152, "atom\000\000\000"}; static struct {unsigned f; char r[60];} string15 = {3670076, "BeKindToYourWebFootedFriendsForADuckMayBeSomebodysMother\000\000\000"}; static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\264\305\175\014\300\362\000\230\173\100\164\000\000"}; static struct {unsigned f; char r[16];} string17 = {786444, "\006\004\040\001\044\001\050\001\100\130\004\017\000\000\000"}; static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\255\053\300\023\300\142\135\315\105\100\150\000\000"}; static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\301\241\007\150\300\032\111\265\237\100\150\000\000"}; static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\336\025\013\356\300\216\115\352\271\100\150\000\000"}; static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"}; static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\240\236\274\171\300\344\000\142\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\242\221\264\046\300\105\142\142\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\317\075\344\275\300\105\331\241\110\100\150\000\000"}; static struct { word f0[26]; word f26; word f27; word f28; word f29; word f30; word f31; word f32; word f33; word f34; word f35; word f36; word f37; word f38; word f39; word f40; word f41; word f42; word f43; word f44; word f45; word f46; word f47; word f48; word f49; word f50; word f51; word f52; word f53; word f54; word f55; word f56; word f57; word f58; word f59; word f60; word f61; word f62; word f63; word f64; word f65; word f66; word f67; word f68; word f69; word f70; word f71[8]; } globalframe = { {0}, (word) FileOutRope←P1320, 0, (word) FileInRope←P1260, 0, (word) FileOutAtom←P1200, 0, (word) FileInAtom←P1140, 0, (word) FileOutReal←P1080, 0, (word) FileInReal←P1020, 0, (word) FileOutInt←P960, 0, (word) FileInInt←P900, 0, (word) RegisterTestProcs←P840, 0, (word) IdentityCopy←P780, 0, (word) Init←P720, 0, (word) Register←P660, 0, (word) FromRope←P600, 0, (word) ToRope←P540, 0, (word) CopyAll←P480, 0, (word) Kill←P420, 0, (word) Walk←P360, 0, (word) Copy←P300, 0, (word) Rem←P240, 0, (word) Get←P180, 0, (word) PutAll←P120, 0, (word) Put←P60, 0, (word) GGPropsImpl←P0, {0} }; static void NoName←Q2292() { register ptr gf←c0230 = (ptr) &globalframe; word var←c24096; (* (( (ptr) gf←c0230)+12) ) = (word) XR←GetTypeIndexS((word) (&string1)); (* (( (ptr) gf←c0230)+13) ) = (word) XR←GetTypeIndexS((word) (&string2)); (* (( (ptr) gf←c0230)+14) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4); (* (( (ptr) gf←c0230)+15) ) = (word) XR←GetTypeIndexS((word) (&string5)); (* (( (ptr) gf←c0230)+16) ) = (word) XR←GetTypeIndexS((word) (&string6)); (* (( (ptr) gf←c0230)+17) ) = (word) XR←GetTypeIndexS((word) (&string7)); (* (( (ptr) gf←c0230)+18) ) = (word) XR←GetTypeIndexS((word) (&string8)); (* (( (ptr) gf←c0230)+19) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10); (* (( (ptr) gf←c0230)+21) ) = (word) XR←GetTypeIndex((word) &string11, 0, (word) &string10); (* (ptr) (( (bPt) gf←c0230)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0230)+21) ), (word) &string12); (* (ptr) (( (bPt) gf←c0230)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0230)+21) ), (word) &string13); (* (ptr) (( (bPt) gf←c0230)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0230)+21) ), (word) &string14); (* (ptr) (( (bPt) gf←c0230)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0230)+19) ), (word) &string15); (void) XR←DeclareGlobalFrame((word) "GGPropsImpl", &globalframe, (word) XR←GetTypeIndex((word) &string16, 0, (word) &string17) , (word) (( (bPt) gf←c0230)+280)/* var←c22272 */ ); var←c24096 = (word) XR←ImportInterface((word) "Convert", (word) XR←GetTypeIndexS((word) (&string18)), 73); (* (( (ptr) gf←c0230)+76)/* var←c23296 */ ) = var←c24096; (void) XR←ImportProcS(var←c24096, 67374593); (void) XR←ImportProcS(var←c24096, 67638530); (void) XR←ImportProcS(var←c24096, 67373057); (void) XR←ImportProcS(var←c24096, 67634690); (void) XR←ImportProcS(var←c24096, 67379201); (void) XR←ImportProcS(var←c24096, 67902211); (void) XR←ImportProcS(var←c24096, 67901443); (void) XR←ImportProcS(var←c24096, 67901187); (void) XR←ImportProcS(var←c24096, 67641602); var←c24096 = (word) XR←ImportInterface((word) "GGParent", (word) XR←GetTypeIndexS((word) (&string19)), 83); (* (( (ptr) gf←c0230)+73)/* var←c22400 */ ) = var←c24096; (void) XR←ImportProcS(var←c24096, 68437509); (void) XR←ImportProcS(var←c24096, 67386113); var←c24096 = (word) XR←ImportInterface((word) "GGSliceOps", (word) XR←GetTypeIndexS((word) (&string20)), 73); (* (( (ptr) gf←c0230)+72)/* var←c22368 */ ) = var←c24096; (void) XR←ImportProcS(var←c24096, 67371521); var←c24096 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string21)), 103); (* (( (ptr) gf←c0230)+77)/* var←c23488 */ ) = var←c24096; (void) XR←ImportProcS(var←c24096, 1071364); (void) XR←ImportProcS(var←c24096, 67917827); (void) XR←ImportProcS(var←c24096, 67389697); (void) XR←ImportProcS(var←c24096, 67388929); (void) XR←ImportProcS(var←c24096, 799490); (void) XR←ImportProcS(var←c24096, 67388417); (void) XR←ImportProcS(var←c24096, 67373825); (void) XR←ImportProcS(var←c24096, 201868034); (void) XR←ImportProcS(var←c24096, 67640578); (void) XR←ImportProcS(var←c24096, 67641090); (void) XR←ImportProcS(var←c24096, 67378689); var←c24096 = (word) XR←ImportInterface((word) "Prop", (word) XR←GetTypeIndexS((word) (&string22)), 4); (* (( (ptr) gf←c0230)+74)/* var←c22464 */ ) = var←c24096; (void) XR←ImportProcS(var←c24096, 67633922); (void) XR←ImportProcS(var←c24096, 67633666); (void) XR←ImportProcS(var←c24096, 67633410); (void) XR←ImportProcS(var←c24096, 67895299); var←c24096 = (word) XR←ImportInterface((word) "RefTab", (word) XR←GetTypeIndexS((word) (&string23)), 16); (* (( (ptr) gf←c0230)+75)/* var←c22752 */ ) = var←c24096; (void) XR←ImportProcS(var←c24096, 67895555); (void) XR←ImportProcS(var←c24096, 67896579); (void) XR←ImportProcS(var←c24096, 134742786); var←c24096 = (word) XR←ExportInterface((word) "GGProps", (word) XR←GetTypeIndexS((word) (&string24)), 11); (* (( (ptr) gf←c0230)+78)/* var←c24128 */ ) = var←c24096; (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+272)/* var←c22240 */ , 1048580, (word) "Put"); (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+256)/* var←c22176 */ , 135004419, (word) "Get"); (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+248)/* var←c22144 */ , 67895811, (word) "Rem"); (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+240)/* var←c22112 */ , 67633922, (word) "Copy"); (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+232)/* var←c22080 */ , 67896323, (word) "Walk"); (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+224)/* var←c22048 */ , 525570, (word) "Kill"); (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+216)/* var←c22016 */ , 1050116, (word) "CopyAll"); (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+208)/* var←c21984 */ , 134743810, (word) "ToRope"); (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+200)/* var←c21952 */ , 67635202, (word) "FromRope"); (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+176)/* var←c21856 */ , 67373313, (word) "IdentityCopy"); (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+192)/* var←c21920 */ , 1051140, (word) "Register"); } static void GGPropsImpl←P0(formal←c045, formal←c044) word formal←c045; word formal←c044; { /* GGPropsImpl: */ SOURCE(90, 7701) SOURCE(7764, 6) (void) Init←P720(); SOURCE(7772, 19) (void) RegisterTestProcs←P840(); } static void Put←P60(slice←v3948, parts←v3976, formal←c0296, formal←c0297) word slice←v3948; word parts←v3976; word formal←c0296; word formal←c0297; { W8 var←c24160; /* declaration of key←v4004 skipped */ /* declaration of val←v4032 skipped */ register ptr gf←c24192 = (ptr) &globalframe; /* declaration of var←c22304 skipped */ word var←c22336; var←c24160.f4/* key←v4004 */ = formal←c0296; var←c24160.f5/* val←v4032 */ = formal←c0297; /* Put: */ SOURCE(570, 4969) { word tmpAddr25; tmpAddr25 = (word) (( (ptr) &var←c24160)+6)/* var←c22304 */ ; (* (ptr) tmpAddr25 ) = ( ((word) (fPt) DoPut←P1380) ); (* (( (ptr) tmpAddr25) + 1) ) = 1; }; SOURCE(781, 4758) { word pd27; { word pd26; pd26 = (* (( (ptr) (* (( (ptr) gf←c24192)+72)/* var←c22368 */ ))+6) ); var←c22336 = (word) ( *( (fPt) ((* (ptr) pd26 ))))(slice←v3948, pd26); }; pd27 = (* (( (ptr) (* (( (ptr) gf←c24192)+73)/* var←c22400 */ ))+63) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd27 ))))(var←c22336, pd27))) { SOURCE(838, 4701) { word var←c22432; word pd28; pd28 = (* (( (ptr) (* (( (ptr) gf←c24192)+73)/* var←c22400 */ ))+74) ); var←c22432 = (word) ( *( (fPt) ((* (ptr) pd28 ))))(slice←v3948, parts←v3976, 1, (word) (( (bPt) &var←c24160)+24)/* var←c22304 */ , 0, pd28) ; }; } else { SOURCE(905, 4634) { word pd29; pd29 = (* (( (ptr) (* (( (ptr) gf←c24192)+74)/* var←c22464 */ ))+4) ); (* (( (ptr) slice←v3948)+22) ) = (word) ( *( (fPt) ((* (ptr) pd29 ))))((* (( (ptr) slice←v3948)+22) ), var←c24160.f4/* key←v4004 */ , var←c24160.f5/* val←v4032 */ , pd29) ; }; }; }; } static word DoPut←P1380(sliceD←v5780, formal←c24256) word sliceD←v5780; word formal←c24256; { register ptr gf←c24224 = (ptr) &globalframe; word done←v5824; formal←c24256 = (formal←c24256 - 24); /* DoPut: */ SOURCE(646, 4893) SOURCE(646, 4893) done←v5824 = 0; SOURCE(717, 4822) { word pd30; pd30 = (* (( (ptr) (* (( (ptr) gf←c24224)+74)/* var←c22464 */ ))+4) ); (* (( (ptr) (* (ptr) sliceD←v5780 ))+22) ) = (word) ( *( (fPt) ((* (ptr) pd30 ))))((* (( (ptr) (* (ptr) sliceD←v5780 ))+22) ), (* (( (ptr) formal←c24256)+4) ), (* (( (ptr) formal←c24256)+5) ), pd30); }; SOURCE(646, 4893) return(done←v5824); } static void PutAll←P120(slice←v4108, parts←v4136, formal←c0298) word slice←v4108; word parts←v4136; word formal←c0298; { W7 var←c24288; /* declaration of props←v4164 skipped */ register ptr gf←c24320 = (ptr) &globalframe; /* declaration of var←c22496 skipped */ word var←c22528; var←c24288.f4/* props←v4164 */ = formal←c0298; /* PutAll: */ SOURCE(955, 4584) { word tmpAddr31; tmpAddr31 = (word) (( (ptr) &var←c24288)+5)/* var←c22496 */ ; (* (ptr) tmpAddr31 ) = ( ((word) (fPt) DoPut←P1440) ); (* (( (ptr) tmpAddr31) + 1) ) = 1; }; SOURCE(1130, 4409) { word pd33; { word pd32; pd32 = (* (( (ptr) (* (( (ptr) gf←c24320)+72)/* var←c22368 */ ))+6) ); var←c22528 = (word) ( *( (fPt) ((* (ptr) pd32 ))))(slice←v4108, pd32); }; pd33 = (* (( (ptr) (* (( (ptr) gf←c24320)+73)/* var←c22400 */ ))+63) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd33 ))))(var←c22528, pd33))) { SOURCE(1187, 4352) { word var←c22560; word pd34; pd34 = (* (( (ptr) (* (( (ptr) gf←c24320)+73)/* var←c22400 */ ))+74) ); var←c22560 = (word) ( *( (fPt) ((* (ptr) pd34 ))))(slice←v4108, parts←v4136, 1, (word) (( (bPt) &var←c24288)+20)/* var←c22496 */ , 0, pd34) ; }; } else { SOURCE(1254, 19) (* (( (ptr) slice←v4108)+22) ) = var←c24288.f4/* props←v4164 */ ; }; }; } static word DoPut←P1440(sliceD←v5928, formal←c24352) word sliceD←v5928; word formal←c24352; { word done←v5972; formal←c24352 = (formal←c24352 - 20); /* DoPut: */ SOURCE(1028, 97) SOURCE(1028, 97) done←v5972 = 0; SOURCE(1099, 26) (* (( (ptr) (* (ptr) sliceD←v5928 ))+22) ) = (* (( (ptr) formal←c24352)+4) ); SOURCE(1028, 97) return(done←v5972); } static void Get←P180(formal←c071, slice←v4224, parts←v4252, formal←c0299) word formal←c071; word slice←v4224; word parts←v4252; word formal←c0299; { W9 var←c24384; /* declaration of key←v4280 skipped */ register ptr gf←c24416 = (ptr) &globalframe; /* declaration of val←v4324 skipped */ word isUnique←v4352; /* declaration of var←c22592 skipped */ /* declaration of found←v6000 skipped */ word var←c22624; (* (( (ptr) &var←c24384)+4)/* key←v4280 */ ) = formal←c0299; /* Get: */ SOURCE(1278, 4261) { word tmpAddr35; tmpAddr35 = (word) (( (ptr) &var←c24384)+6)/* var←c22592 */ ; (* (ptr) tmpAddr35 ) = ( ((word) (fPt) DoGet←P1500) ); (* (( (ptr) tmpAddr35) + 1) ) = 1; }; SOURCE(1278, 4261) (* (( (ptr) &var←c24384)+5)/* val←v4324 */ ) = 0; SOURCE(1278, 4261) isUnique←v4352 = 1; SOURCE(1386, 19) (* (( (ptr) &var←c24384)+8)/* found←v6000 */ ) = 0; SOURCE(1728, 3811) { word pd37; { word pd36; pd36 = (* (( (ptr) (* (( (ptr) gf←c24416)+72)/* var←c22368 */ ))+6) ); var←c22624 = (word) ( *( (fPt) ((* (ptr) pd36 ))))(slice←v4224, pd36); }; pd37 = (* (( (ptr) (* (( (ptr) gf←c24416)+73)/* var←c22400 */ ))+63) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd37 ))))(var←c22624, pd37))) { SOURCE(1785, 3754) { word pd38; pd38 = (* (( (ptr) (* (( (ptr) gf←c24416)+73)/* var←c22400 */ ))+74) ); isUnique←v4352 = (unsigned) (0 == (word) ( *( (fPt) ((* (ptr) pd38 ))))(slice←v4224, parts←v4252, 1, (word) (( (bPt) &var←c24384)+24) /* var←c22592 */ , 0, pd38)); }; } else { SOURCE(1862, 3677) { word pd39; pd39 = (* (( (ptr) (* (( (ptr) gf←c24416)+74)/* var←c22464 */ ))+5) ); (* (( (ptr) &var←c24384)+5)/* val←v4324 */ ) = (word) ( *( (fPt) ((* (ptr) pd39 ))))((* (( (ptr) slice←v4224)+22) ), (* ( ( (ptr) &var←c24384)+4)/* key←v4280 */ ), pd39); }; }; }; /* removed tail goto */ (* (ptr) formal←c071 ) = (* (( (ptr) &var←c24384)+5)/* val←v4324 */ ); (* (( (ptr) formal←c071)+1) ) = isUnique←v4352; return; } static word DoGet←P1500(sliceD←v6104, formal←c24480) word sliceD←v6104; word formal←c24480; { register ptr gf←c24448 = (ptr) &globalframe; word done←v6148; word thisVal←v6176; formal←c24480 = (formal←c24480 - 24); /* DoGet: */ SOURCE(1407, 4132) SOURCE(1407, 4132) done←v6148 = 0; SOURCE(1478, 48) { word pd40; pd40 = (* (( (ptr) (* (( (ptr) gf←c24448)+74)/* var←c22464 */ ))+5) ); thisVal←v6176 = (word) ( *( (fPt) ((* (ptr) pd40 ))))((* (( (ptr) (* (ptr) sliceD←v6104 ))+22) ), (* (( (ptr) formal←c24480)+4) ), pd40); }; SOURCE(1556, 160) if ((thisVal←v6176 != 0)) { SOURCE(1615, 101) if ( ( (0 != (* (( (ptr) formal←c24480)+8) )) ? (thisVal←v6176 != (* (( (ptr) formal←c24480)+5) )) : 0 ) ) { SOURCE(1645, 18) return(1); } else { SOURCE(1665, 13) (* (( (ptr) formal←c24480)+5) ) = thisVal←v6176; SOURCE(1704, 12) (* (( (ptr) formal←c24480)+8) ) = 1; }; }; SOURCE(1407, 4132) return(done←v6148); } static word Rem←P240(slice←v4424, parts←v4452, formal←c0300) word slice←v4424; word parts←v4452; word formal←c0300; { W10 var←c24512; /* declaration of key←v4480 skipped */ register ptr gf←c24544 = (ptr) &globalframe; /* declaration of isUnique←v4524 skipped */ /* declaration of var←c22656 skipped */ /* declaration of val←v6232 skipped */ /* declaration of found←v6260 skipped */ word var←c22688; (* (( (ptr) &var←c24512)+4)/* key←v4480 */ ) = formal←c0300; /* Rem: */ SOURCE(1899, 3640) { word tmpAddr41; tmpAddr41 = (word) (( (ptr) &var←c24512)+6)/* var←c22656 */ ; (* (ptr) tmpAddr41 ) = ( ((word) (fPt) DoRem←P1560) ); (* (( (ptr) tmpAddr41) + 1) ) = 1; }; SOURCE(1899, 3640) (* (( (ptr) &var←c24512)+5)/* isUnique←v4524 */ ) = 1; SOURCE(1997, 8) (* (( (ptr) &var←c24512)+8)/* val←v6232 */ ) = 0; SOURCE(2007, 19) (* (( (ptr) &var←c24512)+9)/* found←v6260 */ ) = 0; SOURCE(2432, 3107) { word pd43; { word pd42; pd42 = (* (( (ptr) (* (( (ptr) gf←c24544)+72)/* var←c22368 */ ))+6) ); var←c22688 = (word) ( *( (fPt) ((* (ptr) pd42 ))))(slice←v4424, pd42); }; pd43 = (* (( (ptr) (* (( (ptr) gf←c24544)+73)/* var←c22400 */ ))+63) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd43 ))))(var←c22688, pd43))) { SOURCE(2489, 3050) { word var←c22720; word pd44; pd44 = (* (( (ptr) (* (( (ptr) gf←c24544)+73)/* var←c22400 */ ))+74) ); var←c22720 = (word) ( *( (fPt) ((* (ptr) pd44 ))))(slice←v4424, parts←v4452, 1, (word) (( (bPt) &var←c24512)+24)/* var←c22656 */ , 0, pd44) ; }; } else { SOURCE(2556, 2983) { word pd45; pd45 = (* (( (ptr) (* (( (ptr) gf←c24544)+74)/* var←c22464 */ ))+6) ); (* (( (ptr) slice←v4424)+22) ) = (word) ( *( (fPt) ((* (ptr) pd45 ))))((* (( (ptr) slice←v4424)+22) ), (* (( (ptr) &var←c24512)+4) /* key←v4480 */ ), pd45); }; }; }; SOURCE(1899, 3640) return((* (( (ptr) &var←c24512)+5)/* isUnique←v4524 */ )); } static word DoRem←P1560(sliceD←v6376, formal←c24608) word sliceD←v6376; word formal←c24608; { register ptr gf←c24576 = (ptr) &globalframe; word done←v6420; word thisVal←v6448; formal←c24608 = (formal←c24608 - 24); /* DoRem: */ SOURCE(2028, 3511) SOURCE(2028, 3511) done←v6420 = 0; SOURCE(2099, 48) { word pd46; pd46 = (* (( (ptr) (* (( (ptr) gf←c24576)+74)/* var←c22464 */ ))+5) ); thisVal←v6448 = (word) ( *( (fPt) ((* (ptr) pd46 ))))((* (( (ptr) (* (ptr) sliceD←v6376 ))+22) ), (* (( (ptr) formal←c24608)+4) ), pd46); }; SOURCE(2177, 3362) if ((thisVal←v6448 != 0)) { SOURCE(2199, 3340) { word pd47; pd47 = (* (( (ptr) (* (( (ptr) gf←c24576)+74)/* var←c22464 */ ))+6) ); (* (( (ptr) (* (ptr) sliceD←v6376 ))+22) ) = (word) ( *( (fPt) ((* (ptr) pd47 ))))((* (( (ptr) (* (ptr) sliceD←v6376 ))+22) ), (* (( (ptr) formal←c24608)+4) ), pd47); }; SOURCE(2278, 142) if ( ( (0 != (* (( (ptr) formal←c24608)+9) )) ? (thisVal←v6448 != (* (( (ptr) formal←c24608)+8) )) : 0 ) ) { SOURCE(2308, 59) (* (( (ptr) formal←c24608)+5) ) = 0; } else { SOURCE(2369, 13) (* (( (ptr) formal←c24608)+8) ) = thisVal←v6448; SOURCE(2408, 12) (* (( (ptr) formal←c24608)+9) ) = 1; }; }; SOURCE(2028, 3511) return(done←v6420); } static word Copy←P300(key←v4584, val←v4612) word key←v4584; word val←v4612; { register ptr gf←c24640 = (ptr) &globalframe; word copy←v4668; word tableEntry←v6504 = 0; word gtEntry←v6532 = 0; word found←v6560 = 0; /* Copy: */ SOURCE(2601, 2938) SOURCE(2601, 2938) copy←v4668 = 0; SOURCE(2722, 2817) { W2 var←c22784; { word pd48; pd48 = (* (( (ptr) (* (( (ptr) gf←c24640)+75)/* var←c22752 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd48 ))))((word) &var←c22784, (* (( (ptr) gf←c24640)+8)/* gt←v3812 */ ), key←v4584, pd48); }; tableEntry←v6504 = var←c22784.f1; found←v6560 = var←c22784.f0; }; SOURCE(2767, 2772) if ((0 != found←v6560)) { SOURCE(2783, 28) gtEntry←v6532 = XR←Narrow(tableEntry←v6504, (* (( (ptr) gf←c24640)+12) )); SOURCE(2813, 2726) if (((* (( (ptr) gtEntry←v6532)+2) ) == 0)) { SOURCE(2838, 16) copy←v4668 = val←v4612; } else { SOURCE(2854, 2685) { word pd49; pd49 = (* (( (ptr) gtEntry←v6532)+2) ); copy←v4668 = (word) ( *( (fPt) ((* (ptr) pd49 ))))(val←v4612, pd49); }; }; } else { SOURCE(2887, 10) copy←v4668 = val←v4612; }; SOURCE(2601, 2938) return(copy←v4668); } static word Walk←P360(slice←v4740, parts←v4768, formal←c0301) word slice←v4740; word parts←v4768; word formal←c0301; { W9 var←c24672; /* declaration of walkProc←v4796 skipped */ register ptr gf←c24704 = (ptr) &globalframe; word aborted←v4840; /* declaration of var←c22816 skipped */ /* declaration of var←c22848 skipped */ word var←c22880; (* (( (ptr) &var←c24672)+4)/* walkProc←v4796 */ ) = formal←c0301; /* Walk: */ SOURCE(2903, 2636) { word tmpAddr50; tmpAddr50 = (word) (( (ptr) &var←c24672)+5)/* var←c22816 */ ; (* (ptr) tmpAddr50 ) = ( ((word) (fPt) DoWalk←P1680) ); (* (( (ptr) tmpAddr50) + 1) ) = 1; }; { word tmpAddr51; tmpAddr51 = (word) (( (ptr) &var←c24672)+7)/* var←c22848 */ ; (* (ptr) tmpAddr51 ) = ( ((word) (fPt) DoMap←P1620) ); (* (( (ptr) tmpAddr51) + 1) ) = 1; }; SOURCE(2903, 2636) aborted←v4840 = 0; SOURCE(3200, 2339) { word pd53; { word pd52; pd52 = (* (( (ptr) (* (( (ptr) gf←c24704)+72)/* var←c22368 */ ))+6) ); var←c22880 = (word) ( *( (fPt) ((* (ptr) pd52 ))))(slice←v4740, pd52); }; pd53 = (* (( (ptr) (* (( (ptr) gf←c24704)+73)/* var←c22400 */ ))+63) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd53 ))))(var←c22880, pd53))) { SOURCE(3257, 2282) { word pd54; pd54 = (* (( (ptr) (* (( (ptr) gf←c24704)+73)/* var←c22400 */ ))+74) ); aborted←v4840 = (word) ( *( (fPt) ((* (ptr) pd54 ))))(slice←v4740, parts←v4768, 1, (word) (( (bPt) &var←c24672)+20)/* var←c22816 */ , 0, pd54) ; }; } else { SOURCE(3330, 2209) { word pd55; pd55 = (* (( (ptr) (* (( (ptr) gf←c24704)+74)/* var←c22464 */ ))+7) ); aborted←v4840 = (word) ( *( (fPt) ((* (ptr) pd55 ))))((* (( (ptr) slice←v4740)+22) ), (word) (( (bPt) &var←c24672)+28)/* var←c22848 */ , pd55) ; }; }; }; SOURCE(2903, 2636) return(aborted←v4840); } static word DoMap←P1620(key←v13076, val←v13104, formal←c24768) word key←v13076; word val←v13104; word formal←c24768; { register ptr gf←c24736 = (ptr) &globalframe; word quit←v13148; formal←c24768 = (formal←c24768 - 28); /* DoMap: */ SOURCE(3015, 2524) SOURCE(3015, 2524) quit←v13148 = 0; SOURCE(3041, 2498) { word var←c22944; var←c22944 = XR←Narrow(key←v13076, (* (( (ptr) gf←c24736)+13) )); { word pd56; pd56 = (* (( (ptr) formal←c24768)+4) ); return((word) ( *( (fPt) ((* (ptr) pd56 ))))(var←c22944, val←v13104, pd56)); }; }; } static word DoWalk←P1680(sliceD←v6720, formal←c24832) word sliceD←v6720; word formal←c24832; { register ptr gf←c24800 = (ptr) &globalframe; word done←v6764; formal←c24832 = (formal←c24832 - 20); /* DoWalk: */ SOURCE(3080, 2459) SOURCE(3080, 2459) done←v6764 = 0; SOURCE(3152, 2387) { word pd57; pd57 = (* (( (ptr) (* (( (ptr) gf←c24800)+74)/* var←c22464 */ ))+7) ); done←v6764 = (word) ( *( (fPt) ((* (ptr) pd57 ))))((* (( (ptr) (* (ptr) sliceD←v6720 ))+22) ), (word) (( (bPt) formal←c24832)+28) , pd57); }; SOURCE(3080, 2459) return(done←v6764); } static void Kill←P420(slice←v4900, parts←v4928) word slice←v4900; word parts←v4928; { W6 var←c24864; register ptr gf←c24896 = (ptr) &globalframe; /* declaration of var←c22976 skipped */ word var←c23008; /* Kill: */ SOURCE(3372, 2167) { word tmpAddr58; tmpAddr58 = (word) (( (ptr) &var←c24864)+4)/* var←c22976 */ ; (* (ptr) tmpAddr58 ) = ( ((word) (fPt) DoKill←P1740) ); (* (( (ptr) tmpAddr58) + 1) ) = 1; }; SOURCE(3530, 2009) { word pd60; { word pd59; pd59 = (* (( (ptr) (* (( (ptr) gf←c24896)+72)/* var←c22368 */ ))+6) ); var←c23008 = (word) ( *( (fPt) ((* (ptr) pd59 ))))(slice←v4900, pd59); }; pd60 = (* (( (ptr) (* (( (ptr) gf←c24896)+73)/* var←c22400 */ ))+63) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd60 ))))(var←c23008, pd60))) { SOURCE(3587, 1952) { word var←c23040; word pd61; pd61 = (* (( (ptr) (* (( (ptr) gf←c24896)+73)/* var←c22400 */ ))+74) ); var←c23040 = (word) ( *( (fPt) ((* (ptr) pd61 ))))(slice←v4900, parts←v4928, 1, (word) (( (bPt) &var←c24864)+16)/* var←c22976 */ , 0, pd61) ; }; } else { SOURCE(3655, 17) (* (( (ptr) slice←v4900)+22) ) = 0; }; }; } static word DoKill←P1740(sliceD←v6868, formal←c24928) word sliceD←v6868; word formal←c24928; { word done←v6912; formal←c24928 = (formal←c24928 - 16); /* DoKill: */ SOURCE(3428, 96) SOURCE(3428, 96) done←v6912 = 0; SOURCE(3500, 24) (* (( (ptr) (* (ptr) sliceD←v6868 ))+22) ) = 0; SOURCE(3428, 96) return(done←v6912); } static void CopyAll←P480(fromSlice←v4988, toSlice←v5016, fromParts←v5044, toParts←v5072) word fromSlice←v4988; word toSlice←v5016; word fromParts←v5044; word toParts←v5072; { W7 var←c24960; /* declaration of var←c23072 skipped */ /* declaration of copyProps←v6968 skipped */ /* CopyAll: */ SOURCE(3678, 1861) { word tmpAddr62; tmpAddr62 = (word) (( (ptr) &var←c24960)+4)/* var←c23072 */ ; (* (ptr) tmpAddr62 ) = ( ((word) (fPt) DoCopyProc←P1800) ); (* (( (ptr) tmpAddr62) + 1) ) = 1; }; SOURCE(3855, 30) var←c24960.f6/* copyProps←v6968 */ = 0; SOURCE(3887, 1652) { word var←c23104; var←c23104 = (word) Walk←P360(fromSlice←v4988, fromParts←v5044, (word) (( (bPt) &var←c24960)+16)/* var←c23072 */ ); }; SOURCE(3932, 35) (void) PutAll←P120(toSlice←v5016, toParts←v5072, var←c24960.f6/* copyProps←v6968 */ ); } static word DoCopyProc←P1800(key←v13372, val←v13400, formal←c25024) word key←v13372; word val←v13400; word formal←c25024; { register ptr gf←c24992 = (ptr) &globalframe; word done←v13444; formal←c25024 = (formal←c25024 - 16); /* DoCopyProc: */ SOURCE(3769, 1770) SOURCE(3769, 1770) done←v13444 = 0; SOURCE(3798, 1741) { word var←c23136; var←c23136 = (word) Copy←P300(key←v13372, val←v13400); { word pd63; pd63 = (* (( (ptr) (* (( (ptr) gf←c24992)+74)/* var←c22464 */ ))+4) ); (* (( (ptr) formal←c25024)+6) ) = (word) ( *( (fPt) ((* (ptr) pd63 ))))((* (( (ptr) formal←c25024)+6) ), key←v13372, var←c23136, pd63) ; }; }; SOURCE(3769, 1770) return(done←v13444); } static void ToRope←P540(formal←c0130, formal←c0302, formal←c0303) word formal←c0130; word formal←c0302; word formal←c0303; { W8 var←c25056; /* declaration of key←v5132 skipped */ /* declaration of val←v5160 skipped */ register ptr gf←c25088 = (ptr) &globalframe; /* declaration of r←v5216 skipped */ /* declaration of vf←v5244 skipped */ var←c25056.f4/* key←v5132 */ = formal←c0302; var←c25056.f5/* val←v5160 */ = formal←c0303; /* ToRope: */ SOURCE(3973, 1566) (void) (XR←MonitorEntry((word) (( (bPt) gf←c25088)+16)/* LOCK←v2832 */ )); SOURCE(3973, 1566) var←c25056.f6/* r←v5216 */ = 0; SOURCE(3973, 1566) var←c25056.f7/* vf←v5244 */ = 1; SOURCE(4075, 1464) { word var←c01; { word var←c0273; var←c0273 = (word) &var←c25056; var←c01 = (word) XR←Enable(( ((word) (fPt) NoName←Q2352) ), ( ((word) (fPt) NoName←Q2652) ), var←c0273); }; if ((var←c01 == 2)) { goto lab←L100002; }; }; /* removed tail goto */ lab←L100002: ; (void) (XR←MonitorExit((word) (( (bPt) gf←c25088)+16)/* LOCK←v2832 */ )); (* (ptr) formal←c0130 ) = var←c25056.f6/* r←v5216 */ ; (* (( (ptr) formal←c0130)+1) ) = var←c25056.f7/* vf←v5244 */ ; return; } static word NoName←Q2352(formal←c0254) word formal←c0254; { register ptr gf←c0253 = (ptr) &globalframe; SOURCE(4135, 19) { word found←v7012 = 0; word tableEntry←v7040 = 0; word gtEntry←v7068 = 0; SOURCE(4191, 1348) { W2 var←c23168; { word pd64; pd64 = (* (( (ptr) (* (( (ptr) gf←c0253)+75)/* var←c22752 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd64 ))))((word) &var←c23168, (* (( (ptr) gf←c0253)+8)/* gt←v3812 */ ), (* (( (ptr) formal←c0254)+4) ), pd64); }; tableEntry←v7040 = var←c23168.f1; found←v7012 = var←c23168.f0; }; SOURCE(4236, 1303) if ((0 == found←v7012) || (tableEntry←v7040 == 0)) { SOURCE(4274, 1265) { word var←c23200; word var←c23232; var←c23200 = (* (( (ptr) formal←c0254)+5) ); if ((var←c23200 == 0)) { goto lab←L100005; }; var←c23232 = XR←GetReferentType(var←c23200); { word tc67; if (((* (( (ptr) gf←c0253)+13) ) == var←c23232)) { { word a←v7124; a←v7124 = var←c23200; SOURCE(4306, 1233) { word var←c23264; { word pd66; pd66 = (* (( (ptr) (* (( (ptr) gf←c0253)+76)/* var←c23296 */ ))+37) ); var←c23264 = (word) ( *( (fPt) ((* (ptr) pd66 ))))(a←v7124, 1, pd66); }; (* (( (ptr) formal←c0254)+6) ) = var←c23264; (* (( (ptr) formal←c0254)+7) ) = 1; return(2); }; }; }; if (((* (( (ptr) gf←c0253)+14) ) == var←c23232)) { tc67 = (word) ( (unsigned) (*(int*)var←c23200<0) == 0); } else { tc67 = (word) 0; }; if (tc67) { { word rope←v7168; rope←v7168 = var←c23200; SOURCE(4364, 12) (* (( (ptr) formal←c0254)+6) ) = rope←v7168; (* (( (ptr) formal←c0254)+7) ) = 1; return(2); }; }; if (((* (( (ptr) gf←c0253)+15) ) == var←c23232)) { { word int←v7212; int←v7212 = var←c23200; SOURCE(4394, 1145) { word var←c23328; { word pd68; pd68 = (* (( (ptr) (* (( (ptr) gf←c0253)+76)/* var←c23296 */ ))+27) ); var←c23328 = (word) ( *( (fPt) ((* (ptr) pd68 ))))((* (ptr) int←v7212 ), 8, 0, pd68); }; (* (( (ptr) formal←c0254)+6) ) = var←c23328; (* (( (ptr) formal←c0254)+7) ) = 1; return(2); }; }; }; if (((* (( (ptr) gf←c0253)+16) ) == var←c23232)) { { word card←v7268; card←v7268 = var←c23200; SOURCE(4481, 1058) { word var←c23360; { word pd69; pd69 = (* (( (ptr) (* (( (ptr) gf←c0253)+76)/* var←c23296 */ ))+28) ); var←c23360 = (word) ( *( (fPt) ((* (ptr) pd69 ))))((* (ptr) card←v7268 ), 8, 0, pd69); }; (* (( (ptr) formal←c0254)+6) ) = var←c23360; (* (( (ptr) formal←c0254)+7) ) = 1; return(2); }; }; }; if (((* (( (ptr) gf←c0253)+17) ) == var←c23232)) { { word real←v7324; real←v7324 = var←c23200; SOURCE(4570, 969) { word var←c23392; { word pd70; pd70 = (* (( (ptr) (* (( (ptr) gf←c0253)+76)/* var←c23296 */ ))+31) ); var←c23392 = (word) ( *( (fPt) ((* (ptr) pd70 ))))((* (ptr) real←v7324 ), 9, 0, pd70); }; (* (( (ptr) formal←c0254)+6) ) = var←c23392; (* (( (ptr) formal←c0254)+7) ) = 1; return(2); }; }; }; if (((* (( (ptr) gf←c0253)+18) ) == var←c23232)) { { word bool←v7380; bool←v7380 = var←c23200; SOURCE(4680, 859) { word var←c23424; { word pd71; pd71 = (* (( (ptr) (* (( (ptr) gf←c0253)+76)/* var←c23296 */ ))+36) ); var←c23424 = (word) ( *( (fPt) ((* (ptr) pd71 ))))((* (ptr) (bool←v7380) ), pd71); }; (* (( (ptr) formal←c0254)+6) ) = var←c23424; (* (( (ptr) formal←c0254)+7) ) = 1; return(2); }; }; }; lab←L100005: ; SOURCE(4734, 11) (* (( (ptr) formal←c0254)+6) ) = 0; (* (( (ptr) formal←c0254)+7) ) = 1; return(2); }; }; } else { SOURCE(4756, 28) gtEntry←v7068 = XR←Narrow(tableEntry←v7040, (* (( (ptr) gf←c0253)+12) )); SOURCE(4786, 35) if (((* (( (ptr) gtEntry←v7068)+1) ) == 0)) { SOURCE(4810, 11) (* (( (ptr) formal←c0254)+6) ) = 0; (* (( (ptr) formal←c0254)+7) ) = 1; return(2); }; SOURCE(4862, 677) { word var←c23456; { word pd72; pd72 = (* (( (ptr) (* (( (ptr) gf←c0253)+77)/* var←c23488 */ ))+34) ); var←c23456 = (word) ( *( (fPt) ((* (ptr) pd72 ))))((* ((( (ptr) gf←c0253)+10)/* scratchROS←v3868 */ ) ), pd72); }; { word pd73; pd73 = (* (( (ptr) gtEntry←v7068)+1) ); (* (( (ptr) formal←c0254)+7) ) = (word) ( *( (fPt) ((* (ptr) pd73 ))))(var←c23456, (* (( (ptr) formal←c0254)+5) ), pd73) ; }; }; SOURCE(4962, 577) { word pd74; pd74 = (* (( (ptr) (* (( (ptr) gf←c0253)+77)/* var←c23488 */ ))+35) ); (* (( (ptr) formal←c0254)+6) ) = (word) ( *( (fPt) ((* (ptr) pd74 ))))((* (( (ptr) gf←c0253)+10)/* scratchROS←v3868 */ ), 1, pd74) ; }; }; }; return(0); } static word FromRope←P600(formal←c0304, formal←c0305) word formal←c0304; word formal←c0305; { W9 var←c25120; /* declaration of key←v5304 skipped */ /* declaration of r←v5332 skipped */ register ptr gf←c25152 = (ptr) &globalframe; /* declaration of var←c05 skipped */ /* declaration of val←v5376 skipped */ (* (( (ptr) &var←c25120)+4)/* key←v5304 */ ) = formal←c0304; (* (( (ptr) &var←c25120)+5)/* r←v5332 */ ) = formal←c0305; /* FromRope: */ SOURCE(5019, 1267) (void) (XR←MonitorEntry((word) (( (bPt) gf←c25152)+16)/* LOCK←v2832 */ )); SOURCE(5019, 1267) (* (( (ptr) &var←c25120)+7)/* val←v5376 */ ) = 0; SOURCE(5096, 1190) { /* declaration of success←v7632 skipped */ word var←c06; { word var←c0274; var←c0274 = (word) &var←c25120; var←c06 = (word) XR←Enable(( ((word) (fPt) NoName←Q2412) ), ( ((word) (fPt) NoName←Q2532) ), var←c0274); }; if ((var←c06 == 1)) { goto lab←L04; }; }; SOURCE(5019, 1267) (void) (XR←MonitorExit((word) (( (bPt) gf←c25152)+16)/* LOCK←v2832 */ )); return((* (( (ptr) &var←c25120)+7)/* val←v5376 */ )); lab←L04: ; return((* (( (ptr) &var←c25120)+6)/* var←c05 */ )); } static word NoName←Q2412(formal←c0257) word formal←c0257; { W9 var←c0295; register ptr gf←c0256 = (ptr) &globalframe; (* (ptr) &var←c0295 ) = formal←c0257; SOURCE(5156, 19) { word found←v7436 = 0; word tableEntry←v7464 = 0; word gtEntry←v7492 = 0; SOURCE(5212, 327) { W2 var←c23520; { word pd75; pd75 = (* (( (ptr) (* (( (ptr) gf←c0256)+75)/* var←c22752 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd75 ))))((word) &var←c23520, (* (( (ptr) gf←c0256)+8)/* gt←v3812 */ ), (* (( (ptr) formal←c0257)+4) ), pd75); }; tableEntry←v7464 = var←c23520.f1; found←v7436 = var←c23520.f0; }; SOURCE(5257, 1029) if ((0 == found←v7436) || (tableEntry←v7464 == 0)) { SOURCE(5293, 864) { word tokenKind←v7548; word token←v7576 = 0; word charsSkipped←v7604; /* declaration of s←v7660 skipped */ SOURCE(5357, 20) (* (( (ptr) formal←c0257)+8) ) = 1; SOURCE(5379, 53) { word pd76; pd76 = (* (( (ptr) (* (( (ptr) gf←c0256)+77)/* var←c23488 */ ))+33) ); (* (( (ptr) &var←c0295)+4)/* s←v7660 */ ) = (word) ( *( (fPt) ((* (ptr) pd76 ))))((* (( (ptr) formal←c0257)+5) ), (* (( (ptr) gf←c0256)+9) /* scratchRIS←v3840 */ ), pd76); }; SOURCE(5435, 104) SOURCE(5435, 104) { W3 var←c23552; { /* declaration of var←c02 skipped */ (* (( (ptr) &var←c0295)+5)/* var←c02 */ ) = (* (( (ptr) (* (( (ptr) gf←c0256)+77)/* var←c23488 */ ))+71) ); { /* declaration of var←c03 skipped */ { word var←c04; { word var←c0275; var←c0275 = (word) &var←c0295; var←c04 = (word) XR←Enable(( ((word) (fPt) NoName←Q2472) ), ( ((word) (fPt) NoName←Q2592) ), var←c0275); }; if ((var←c04 == 3)) { goto lab←L100009; }; }; var←c23552 = (* (W3Pt) (( (ptr) &var←c0295)+6)/* var←c03 */ ); }; }; charsSkipped←v7604 = var←c23552.f2; token←v7576 = var←c23552.f1; tokenKind←v7548 = var←c23552.f0; }; lab←L100009: ; SOURCE(5553, 20) if ((0 == (* (( (ptr) formal←c0257)+8) ))) { SOURCE(5573, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(5580, 572) { word pd77; pd77 = (* (( (ptr) (* (( (ptr) gf←c0256)+77)/* var←c23488 */ ))+15) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd77 ))))((* ((( (ptr) &var←c0295)+4)/* s←v7660 */ ) ), pd77))) { SOURCE(5638, 441) { word var←c23584; var←c23584 = tokenKind←v7548; switch (var←c23584) { case 1: SOURCE(5671, 11) (* (( (ptr) formal←c0257)+7) ) = token←v7576; break; case 2: SOURCE(5700, 47) { /*1*/ word var←c23616; /*1*/ word var←c23648; /*1*/ { /*1*/ word pd78; /*1*/ pd78 = (* (( (ptr) (* (( (ptr) gf←c0256)+76)/* var←c23296 */ ))+10) ); /*1*/ var←c23616 = (word) ( *( (fPt) ((* (ptr) pd78 ))))(token←v7576, 8, pd78); /*1*/ }; /*1*/ var←c23648 = XR←NewObject(4, (* (( (ptr) gf←c0256)+15) )); /*1*/ (* (ptr) var←c23648 ) = var←c23616; /*1*/ (* (( (ptr) formal←c0257)+7) ) = var←c23648; /*1*/ }; break; case 3: SOURCE(5763, 46) { /*1*/ word var←c23680; /*1*/ word var←c23712; /*1*/ { /*1*/ word pd79; /*1*/ pd79 = (* (( (ptr) (* (( (ptr) gf←c0256)+76)/* var←c23296 */ ))+10) ); /*1*/ var←c23680 = (word) ( *( (fPt) ((* (ptr) pd79 ))))(token←v7576, 6, pd79); /*1*/ }; /*1*/ var←c23712 = XR←NewObject(4, (* (( (ptr) gf←c0256)+15) )); /*1*/ (* (ptr) var←c23712 ) = var←c23680; /*1*/ (* (( (ptr) formal←c0257)+7) ) = var←c23712; /*1*/ }; break; case 4: SOURCE(5823, 47) { /*1*/ word var←c23744; /*1*/ word var←c23776; /*1*/ { /*1*/ word pd80; /*1*/ pd80 = (* (( (ptr) (* (( (ptr) gf←c0256)+76)/* var←c23296 */ ))+10) ); /*1*/ var←c23744 = (word) ( *( (fPt) ((* (ptr) pd80 ))))(token←v7576, 14, pd80); /*1*/ }; /*1*/ var←c23776 = XR←NewObject(4, (* (( (ptr) gf←c0256)+15) )); /*1*/ (* (ptr) var←c23776 ) = var←c23744; /*1*/ (* (( (ptr) formal←c0257)+7) ) = var←c23776; /*1*/ }; break; case 5: SOURCE(5885, 45) { /*1*/ word var←c23808; /*1*/ word var←c23840; /*1*/ { /*1*/ word pd81; /*1*/ pd81 = (* (( (ptr) (* (( (ptr) gf←c0256)+76)/* var←c23296 */ ))+12) ); /*1*/ var←c23808 = (word) ( *( (fPt) ((* (ptr) pd81 ))))(token←v7576, pd81); /*1*/ }; /*1*/ var←c23840 = XR←NewObject(4, (* (( (ptr) gf←c0256)+17) )); /*1*/ (* (ptr) var←c23840 ) = var←c23808; /*1*/ (* (( (ptr) formal←c0257)+7) ) = var←c23840; /*1*/ }; break; case 6: SOURCE(5945, 36) { /*1*/ word pd82; /*1*/ pd82 = (* (( (ptr) (* (( (ptr) gf←c0256)+76)/* var←c23296 */ ))+25) ); /*1*/ (* (( (ptr) formal←c0257)+7) ) = (word) ( *( (fPt) ((* (ptr) pd82 ))))(token←v7576, 0, pd82); /*1*/ }; break; case 7: SOURCE(5996, 11) (* (( (ptr) formal←c0257)+7) ) = token←v7576; break; case 8: SOURCE(6022, 33) { /*1*/ word pd83; /*1*/ pd83 = (* (( (ptr) (* (( (ptr) gf←c0256)+76)/* var←c23296 */ ))+18) ); /*1*/ (* (( (ptr) formal←c0257)+7) ) = (word) ( *( (fPt) ((* (ptr) pd83 ))))(token←v7576, pd83); /*1*/ }; break; default: SOURCE(6068, 11) (* (( (ptr) formal←c0257)+7) ) = token←v7576; break; }; }; } else { SOURCE(6145, 7) (* (( (ptr) formal←c0257)+7) ) = (* (( (ptr) formal←c0257)+5) ); }; }; }; } else { SOURCE(6166, 28) gtEntry←v7492 = XR←Narrow(tableEntry←v7464, (* (( (ptr) gf←c0256)+12) )); SOURCE(6196, 32) if (((* (ptr) gtEntry←v7492 ) == 0)) { SOURCE(6219, 9) (void) (XR←MonitorExit((word) (( (bPt) gf←c0256)+16)/* LOCK←v2832 */ )); (* (( (ptr) formal←c0257)+6) ) = (* (( (ptr) formal←c0257)+5) ); return(1); }; SOURCE(6230, 56) { word var←c23872; { word pd84; pd84 = (* (( (ptr) (* (( (ptr) gf←c0256)+77)/* var←c23488 */ ))+33) ); var←c23872 = (word) ( *( (fPt) ((* (ptr) pd84 ))))((* (( (ptr) formal←c0257)+5) ), (* (( (ptr) gf←c0256)+9)/* scratchRIS←v3840 */ ), pd84) ; }; { word pd85; pd85 = (* (ptr) gtEntry←v7492 ); (* (( (ptr) formal←c0257)+7) ) = (word) ( *( (fPt) ((* (ptr) pd85 ))))(var←c23872, pd85); }; }; }; }; return(0); } static word NoName←Q2472(formal←c0258) word formal←c0258; { SOURCE(5435, 104) { word pd86; pd86 = (* (( (ptr) formal←c0258)+5) ); (void) ( *( (fPt) ((* (ptr) pd86 ))))((word) (( (bPt) formal←c0258)+24), (* (( (ptr) formal←c0258)+4) ), 1, pd86); }; return(0); } static void Register←P660(key←v5448, in←v5476, out←v5504, copy←v5532) word key←v5448; word in←v5476; word out←v5504; word copy←v5532; { register ptr gf←c25184 = (ptr) &globalframe; word gtEntry←v7704; /* Register: */ SOURCE(6295, 178) SOURCE(6383, 53) gtEntry←v7704 = XR←NewObject(12, (* (( (ptr) gf←c25184)+12) )); (* (ptr) gtEntry←v7704 ) = XR←CheckProc(in←v5476); (* (( (ptr) gtEntry←v7704)+1) ) = XR←CheckProc(out←v5504); (* (( (ptr) gtEntry←v7704)+2) ) = XR←CheckProc(copy←v5532); SOURCE(6438, 35) { word var←c23936; word pd87; pd87 = (* (( (ptr) (* (( (ptr) gf←c25184)+75)/* var←c22752 */ ))+9) ); var←c23936 = (word) ( *( (fPt) ((* (ptr) pd87 ))))((* (( (ptr) gf←c25184)+8)/* gt←v3812 */ ), key←v5448, gtEntry←v7704, pd87) ; }; } static void Init←P720() { register ptr gf←c25216 = (ptr) &globalframe; word bigRope←v7748; /* Init: */ SOURCE(6522, 175) SOURCE(6537, 79) bigRope←v7748 = (* (( (ptr) gf←c25216)+25) ); SOURCE(6618, 20) { word pd88; pd88 = (* (( (ptr) (* (( (ptr) gf←c25216)+75)/* var←c22752 */ ))+5) ); (* (( (ptr) gf←c25216)+8)/* gt←v3812 */ ) = (word) ( *( (fPt) ((* (ptr) pd88 ))))(17, 0, 0, pd88); }; SOURCE(6640, 34) { word pd89; pd89 = (* (( (ptr) (* (( (ptr) gf←c25216)+77)/* var←c23488 */ ))+33) ); (* (( (ptr) gf←c25216)+9)/* scratchRIS←v3840 */ ) = (word) ( *( (fPt) ((* (ptr) pd89 ))))(bigRope←v7748, 0, pd89); }; SOURCE(6676, 21) { word pd90; pd90 = (* (( (ptr) (* (( (ptr) gf←c25216)+77)/* var←c23488 */ ))+34) ); (* (( (ptr) gf←c25216)+10)/* scratchROS←v3868 */ ) = (word) ( *( (fPt) ((* (ptr) pd90 ))))(0, pd90); }; } static word IdentityCopy←P780(val←v10044) word val←v10044; { word copy←v10088; /* IdentityCopy: */ SOURCE(6703, 44) SOURCE(6703, 44) copy←v10088 = 0; SOURCE(6737, 10) copy←v10088 = val←v10044; SOURCE(6703, 44) return(copy←v10088); } static void RegisterTestProcs←P840() { register ptr gf←c25248 = (ptr) &globalframe; /* RegisterTestProcs: */ SOURCE(6753, 191) SOURCE(6781, 51) (void) Register←P660((* (( (ptr) gf←c25248)+22) ), (word) (( (bPt) gf←c25248)+160)/* var←c21792 */ , (word) (( (bPt) gf←c25248)+152) /* var←c21760 */ , (word) (( (bPt) gf←c25248)+176)/* var←c21856 */ ); SOURCE(6834, 54) (void) Register←P660((* (( (ptr) gf←c25248)+23) ), (word) (( (bPt) gf←c25248)+144)/* var←c21728 */ , (word) (( (bPt) gf←c25248)+136) /* var←c21696 */ , (word) (( (bPt) gf←c25248)+176)/* var←c21856 */ ); SOURCE(6890, 54) (void) Register←P660((* (( (ptr) gf←c25248)+24) ), (word) (( (bPt) gf←c25248)+128)/* var←c21664 */ , (word) (( (bPt) gf←c25248)+120) /* var←c21632 */ , (word) (( (bPt) gf←c25248)+176)/* var←c21856 */ ); } static word FileInInt←P900(s←v10148) word s←v10148; { register ptr gf←c25280 = (ptr) &globalframe; word val←v10192; word ref←v7792; /* FileInInt: */ SOURCE(6950, 81) SOURCE(6950, 81) val←v10192 = 0; SOURCE(6976, 23) ref←v7792 = XR←NewObject(4, (* (( (ptr) gf←c25280)+15) )); SOURCE(7001, 19) { word pd91; pd91 = (* (( (ptr) (* (( (ptr) gf←c25280)+77)/* var←c23488 */ ))+72) ); (* (ptr) ref←v7792 ) = (word) ( *( (fPt) ((* (ptr) pd91 ))))(s←v10148, pd91); }; SOURCE(7022, 9) val←v10192 = ref←v7792; SOURCE(6950, 81) return(val←v10192); } static word FileOutInt←P960(s←v10252, val←v10280) word s←v10252; word val←v10280; { register ptr gf←c25312 = (ptr) &globalframe; word vf←v10324; word ref←v7848; /* FileOutInt: */ SOURCE(7036, 81) SOURCE(7036, 81) vf←v10324 = 1; SOURCE(7064, 26) ref←v7848 = XR←Narrow(val←v10280, (* (( (ptr) gf←c25312)+15) )); SOURCE(7092, 25) { W2 var←c23968; var←c23968.f0 = 5; var←c23968.f1 = (* (ptr) ref←v7848 ); { word pd92; pd92 = (* (( (ptr) (* (( (ptr) gf←c25312)+77)/* var←c23488 */ ))+55) ); (void) ( *( (fPt) ((* (ptr) pd92 ))))(s←v10252, var←c23968, pd92); }; }; SOURCE(7036, 81) return(vf←v10324); } static word FileInReal←P1020(s←v10384) word s←v10384; { register ptr gf←c25344 = (ptr) &globalframe; word val←v10428; word ref←v7904; /* FileInReal: */ SOURCE(7122, 85) SOURCE(7122, 85) val←v10428 = 0; SOURCE(7149, 25) ref←v7904 = XR←NewObject(4, (* (( (ptr) gf←c25344)+17) )); SOURCE(7176, 20) { word pd93; pd93 = (* (( (ptr) (* (( (ptr) gf←c25344)+77)/* var←c23488 */ ))+74) ); (* (ptr) ref←v7904 ) = (word) ( *( (fPt) ((* (ptr) pd93 ))))(s←v10384, pd93); }; SOURCE(7198, 9) val←v10428 = ref←v7904; SOURCE(7122, 85) return(val←v10428); } static word FileOutReal←P1080(s←v10488, val←v10516) word s←v10488; word val←v10516; { register ptr gf←c25376 = (ptr) &globalframe; word vf←v10560; word ref←v7960; /* FileOutReal: */ SOURCE(7212, 80) SOURCE(7212, 80) vf←v10560 = 1; SOURCE(7241, 27) ref←v7960 = XR←Narrow(val←v10516, (* (( (ptr) gf←c25376)+17) )); SOURCE(7270, 22) { W2 var←c24000; var←c24000.f0 = 8; var←c24000.f1 = (* (ptr) ref←v7960 ); { word pd94; pd94 = (* (( (ptr) (* (( (ptr) gf←c25376)+77)/* var←c23488 */ ))+55) ); (void) ( *( (fPt) ((* (ptr) pd94 ))))(s←v10488, var←c24000, pd94); }; }; SOURCE(7212, 80) return(vf←v10560); } static word FileInAtom←P1140(s←v10620) word s←v10620; { register ptr gf←c25408 = (ptr) &globalframe; word val←v10664; word ref←v8016; /* FileInAtom: */ SOURCE(7297, 63) SOURCE(7297, 63) val←v10664 = 0; SOURCE(7324, 25) { word pd95; pd95 = (* (( (ptr) (* (( (ptr) gf←c25408)+77)/* var←c23488 */ ))+77) ); ref←v8016 = (word) ( *( (fPt) ((* (ptr) pd95 ))))(s←v10620, pd95); }; SOURCE(7351, 9) val←v10664 = ref←v8016; SOURCE(7297, 63) return(val←v10664); } static word FileOutAtom←P1200(s←v10724, val←v10752) word s←v10724; word val←v10752; { register ptr gf←c25440 = (ptr) &globalframe; word vf←v10796; word ref←v8060; /* FileOutAtom: */ SOURCE(7365, 75) SOURCE(7365, 75) vf←v10796 = 1; SOURCE(7394, 23) ref←v8060 = XR←Narrow(val←v10752, (* (( (ptr) gf←c25440)+13) )); SOURCE(7419, 21) { W2 var←c24032; var←c24032.f0 = 1; var←c24032.f1 = ref←v8060; { word pd96; pd96 = (* (( (ptr) (* (( (ptr) gf←c25440)+77)/* var←c23488 */ ))+55) ); (void) ( *( (fPt) ((* (ptr) pd96 ))))(s←v10724, var←c24032, pd96); }; }; SOURCE(7365, 75) return(vf←v10796); } static word FileInRope←P1260(s←v10856) word s←v10856; { register ptr gf←c25472 = (ptr) &globalframe; word val←v10900; word ref←v8104; /* FileInRope: */ SOURCE(7445, 68) SOURCE(7445, 68) val←v10900 = 0; SOURCE(7472, 30) { word pd97; pd97 = (* (( (ptr) (* (( (ptr) gf←c25472)+77)/* var←c23488 */ ))+92) ); ref←v8104 = (word) ( *( (fPt) ((* (ptr) pd97 ))))(s←v10856, 2147483647, 0, pd97); }; SOURCE(7504, 9) val←v10900 = ref←v8104; SOURCE(7445, 68) return(val←v10900); } static word FileOutRope←P1320(s←v10960, val←v10988) word s←v10960; word val←v10988; { register ptr gf←c25504 = (ptr) &globalframe; word vf←v11032; word ref←v8148; /* FileOutRope: */ SOURCE(7518, 73) SOURCE(7518, 73) vf←v11032 = 1; SOURCE(7547, 28) ref←v8148 = XR←Narrow(val←v10988, (* (( (ptr) gf←c25504)+14) )); if ((ref←v8148 == 0)) { goto lab←L100012; }; if (( (unsigned) (*(int*)ref←v8148<0) == 0)) { goto lab←L100012; }; (void) XR←RaiseError(XR←NarrowFault, 0); lab←L100012: ; SOURCE(7577, 14) { word pd98; pd98 = (* (( (ptr) (* (( (ptr) gf←c25504)+77)/* var←c23488 */ ))+93) ); (void) ( *( (fPt) ((* (ptr) pd98 ))))(s←v10960, ref←v8148, 0, 2147483647, pd98); }; SOURCE(7518, 73) return(vf←v11032); } static void NoName←Q2532(formal←c0219, formal←c200004, formal←c200005, formal←c200006, formal←c200007) word formal←c0219; word formal←c200004; word formal←c200005; word formal←c200006; word formal←c200007; { register ptr gf←c0270 = (ptr) &globalframe; if ((formal←c200005 == XR←Unwind)) { (void) (XR←MonitorExit((word) (( (bPt) gf←c0270)+16)/* LOCK←v2832 */ )); }; (* (ptr) formal←c0219 ) = 0; (* (( (ptr) formal←c0219)+1) ) = 0; return; } static void NoName←Q2592(formal←c0224, formal←c200008, formal←c200009, formal←c200010, formal←c200011) word formal←c0224; word formal←c200008; word formal←c200009; word formal←c200010; word formal←c200011; { register ptr gf←c0271 = (ptr) &globalframe; if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0271)+77)/* var←c23488 */ ))+4) )) || (formal←c200009 == (* (( (ptr) (* ( ( (ptr) gf←c0271)+77)/* var←c23488 */ ))+5) ))) { SOURCE(5524, 15) (* (( (ptr) (* (ptr) formal←c200008 ))+8) ) = 0; SOURCE(5541, 8) (* (ptr) formal←c0224 ) = 2; (* (( (ptr) formal←c0224)+1) ) = 3; return; }; (* (ptr) formal←c0224 ) = 0; (* (( (ptr) formal←c0224)+1) ) = 0; return; } static void NoName←Q2652(formal←c0229, formal←c200000, formal←c200001, formal←c200002, formal←c200003) word formal←c0229; word formal←c200000; word formal←c200001; word formal←c200002; word formal←c200003; { register ptr gf←c0272 = (ptr) &globalframe; if ((formal←c200001 == XR←Unwind)) { (void) (XR←MonitorExit((word) (( (bPt) gf←c0272)+16)/* LOCK←v2832 */ )); }; (* (ptr) formal←c0229 ) = 0; (* (( (ptr) formal←c0229)+1) ) = 0; return; } /* file: GGPropsImpl, module: GGPropsImpl, compiled at: July 11, 1993 8:07:35 pm PDT */ extern void XR←install←GGPropsImpl() { NoName←Q2292(); } extern void XR←run←GGPropsImpl() { XR←Start(&globalframe); }