/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */ /* time: February 21, 1992 9:36:00 pm PST */ /* C2C version: October 16, 1990 (native) */ /* ref-counting: off */ /* file: IOPipeImpl, module: IOPipeImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [3196792903,2236936147] IOPipeImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8; typedef struct {W8 f; W8 r;} W16; typedef struct {word f0, f1, f2;} W3; typedef struct {W16 f; W3 r;} W19; typedef word (*fPt)(); typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7; typedef struct {word f0, f1, f2, f3, f4, f5;} W6; typedef W6 *W6Pt; typedef struct {word f0, f1;} W2; typedef struct {word f0, f1, f2, f3;} W4; typedef struct {W8 f; W4 r;} W12; typedef W4 *W4Pt; typedef struct {W8 f; W3 r;} W11; typedef struct {W8 f; W2 r;} W10; typedef struct {W8 f; word r;} W9; typedef struct {word f0, f1, f2, f3, f4;} W5; typedef W3 *W3Pt; #define SOURCE(p, l) /* source p, l */ #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) ) #define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) ) #define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i ) static void NoName←Q2700(); static void IOPipeImpl←P0(); static void CreatePipe←P60(); static word NoName←Q2760(); static word PullGetChar←P120(); static void innerGetChar←P888(); static word NoName←Q2820(); static word PullGetBlock←P240(); static void innerGetBlock←P996(); static word NoName←Q2880(); static word PullCharsAvail←P300(); static void innerCharsAvail←P1344(); static word NoName←Q2940(); static word PullEndOf←P360(); static void innerEndOf←P1452(); static word NoName←Q3000(); static void PullClose←P420(); static void innerClose←P1560(); static word NoName←Q3060(); static void PushPutChar←P480(); static void innerPutChar←P1668(); static word NoName←Q3120(); static void PushPutBlock←P540(); static void innerPutBlock←P1824(); static word NoName←Q3180(); static void PushUnsafePutBlock←P600(); static void innerPutBlock←P2076(); static word NoName←Q3240(); static void PushFlush←P660(); static void innerFlush←P2280(); static word NoName←Q3300(); static void PushReset←P720(); static void PushClose←P780(); static void innerClose←P2496(); static word NoName←Q3360(); static void NoName←Q3420(); static void NoName←Q3480(); static void NoName←Q3540(); static void NoName←Q3600(); static void NoName←Q3660(); static void NoName←Q3720(); static void NoName←Q3780(); static void NoName←Q3840(); static void NoName←Q3900(); static void NoName←Q3960(); static void NoName←Q4020(); static struct {unsigned f; char r[4];} string1 = {131076, "\216\251\000"}; static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"}; static struct {unsigned f; char r[44];} string3 = {2752556, "\260\007\006\154\145\156\147\164\150\210\241\000\200\177\377\005\004\164\145\170\164\254\206\012\011\155\141\170\114\145\156\147\164\150\210\241\000\200\177\377\243\261\000"}; static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\276\213\060\107\300\205\124\357\323\100\214\000\000"}; static struct {unsigned f; char r[4];} string5 = {131074, "\003\004\000"}; static struct {unsigned f; char r[8];} string6 = {262152, "Pipe\000\000\000"}; static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\276\213\060\107\300\205\124\357\323\100\200\000\000"}; static struct {unsigned f; char r[4];} string8 = {196611, "\004H0"}; static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"}; static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\240\236\274\315\300\111\163\325\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\132\114\005\127\300\365\255\242\322\100\150\000\000"}; static struct { word f0[12]; word f12; word f13; word f14; word f15; word f16; word f17; word f18; word f19; word f20; word f21; word f22; word f23; word f24; word f25; word f26; word f27; word f28; word f29; word f30; word f31; word f32; word f33; word f34; word f35; word f36; word f37[10]; } globalframe = { {0}, (word) PushClose←P780, 0, (word) PushReset←P720, 0, (word) PushFlush←P660, 0, (word) PushUnsafePutBlock←P600, 0, (word) PushPutBlock←P540, 0, (word) PushPutChar←P480, 0, (word) PullClose←P420, 0, (word) PullEndOf←P360, 0, (word) PullCharsAvail←P300, 0, (word) PullGetBlock←P240, 0, (word) PullGetChar←P120, 0, (word) CreatePipe←P60, 0, (word) IOPipeImpl←P0, {0} }; static void NoName←Q2700() { register ptr gf←c0243 = (ptr) &globalframe; word var←c15068; (* (( (ptr) gf←c0243)+6) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf←c0243)+7) ) = (word) XR←GetTypeIndexS((word) (&string3)); (* (( (ptr) gf←c0243)+10) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5); (* (ptr) (( (bPt) gf←c0243)+44) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0243)+6) ), (word) &string6); (void) XR←DeclareGlobalFrame((word) "IOPipeImpl", &globalframe, (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8) , (word) (( (bPt) gf←c0243)+144)/* var←c12988 */ ); var←c15068 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string9)), 103); (* (( (ptr) gf←c0243)+44)/* var←c13084 */ ) = var←c15068; (void) XR←ImportProcS(var←c15068, 67921155); (void) XR←ImportProcS(var←c15068, 72115219); var←c15068 = (word) XR←ImportInterface((word) "Process", (word) XR←GetTypeIndexS((word) (&string10)), 22); (* (( (ptr) gf←c0243)+45)/* var←c13308 */ ) = var←c15068; (void) XR←ImportProcS(var←c15068, 266241); var←c15068 = (word) XR←ExportInterface((word) "IOClasses", (word) XR←GetTypeIndexS((word) (&string11)), 5); (* (( (ptr) gf←c0243)+46)/* var←c15100 */ ) = var←c15068; (void) XR←ExportProcS(var←c15068, (word) (( (bPt) gf←c0243)+136)/* var←c12956 */ , 134479873); } static void IOPipeImpl←P0(formal←c035, formal←c032) word formal←c035; word formal←c032; { register ptr gf←c15132 = (ptr) &globalframe; /* IOPipeImpl: */ SOURCE(177, 8110) SOURCE(8293, 222) { W19 var←c033; (* (ptr) (word) &var←c033 ) = 1; (* (( (ptr) (word) &var←c033) + 1) ) = (* (( (ptr) gf←c15132)+11) ); (* (( (ptr) (word) &var←c033) + 2) ) = 0; (* (( (ptr) (word) &var←c033) + 3) ) = 0; (* (( (ptr) (word) &var←c033) + 4) ) = 0; (* (( (ptr) (word) &var←c033) + 5) ) = 0; (* (( (ptr) (word) &var←c033) + 6) ) = 0; (* (( (ptr) (word) &var←c033) + 7) ) = 0; (* (( (ptr) (word) &var←c033) + 8) ) = (word) (( (bPt) gf←c15132)+88)/* var←c12764 */ ; (* (( (ptr) (word) &var←c033) + 9) ) = (word) (( (bPt) gf←c15132)+80)/* var←c12732 */ ; (* (( (ptr) (word) &var←c033) + 10) ) = (word) (( (bPt) gf←c15132)+72)/* var←c12700 */ ; (* (( (ptr) (word) &var←c033) + 11) ) = (word) (( (bPt) gf←c15132)+64)/* var←c12668 */ ; (* (( (ptr) (word) &var←c033) + 12) ) = (word) (( (bPt) gf←c15132)+56)/* var←c12636 */ ; (* (( (ptr) (word) &var←c033) + 13) ) = (word) (( (bPt) gf←c15132)+48)/* var←c12604 */ ; (* (( (ptr) (word) &var←c033) + 14) ) = 0; (* (( (ptr) (word) &var←c033) + 15) ) = 0; (* (( (ptr) (word) &var←c033) + 16) ) = 0; (* (( (ptr) (word) &var←c033) + 17) ) = 0; (* (( (ptr) (word) &var←c033) + 18) ) = 0; { word pd12; pd12 = (* (( (ptr) (* (( (ptr) gf←c15132)+44)/* var←c13084 */ ))+104) ); (* (( (ptr) gf←c15132)+4)/* pushProcs←v3056 */ ) = (word) ( *( (fPt) ((* (ptr) pd12 ))))((word) (&var←c033), pd12); }; }; SOURCE(8518, 195) { W19 var←c034; (* (ptr) (word) &var←c034 ) = 0; (* (( (ptr) (word) &var←c034) + 1) ) = (* (( (ptr) gf←c15132)+11) ); (* (( (ptr) (word) &var←c034) + 2) ) = (word) (( (bPt) gf←c15132)+128)/* var←c12924 */ ; (* (( (ptr) (word) &var←c034) + 3) ) = (word) (( (bPt) gf←c15132)+120)/* var←c12892 */ ; (* (( (ptr) (word) &var←c034) + 4) ) = 0; (* (( (ptr) (word) &var←c034) + 5) ) = (word) (( (bPt) gf←c15132)+104)/* var←c12828 */ ; (* (( (ptr) (word) &var←c034) + 6) ) = (word) (( (bPt) gf←c15132)+112)/* var←c12860 */ ; (* (( (ptr) (word) &var←c034) + 7) ) = 0; (* (( (ptr) (word) &var←c034) + 8) ) = 0; (* (( (ptr) (word) &var←c034) + 9) ) = 0; (* (( (ptr) (word) &var←c034) + 10) ) = 0; (* (( (ptr) (word) &var←c034) + 11) ) = 0; (* (( (ptr) (word) &var←c034) + 12) ) = 0; (* (( (ptr) (word) &var←c034) + 13) ) = (word) (( (bPt) gf←c15132)+96)/* var←c12796 */ ; (* (( (ptr) (word) &var←c034) + 14) ) = 0; (* (( (ptr) (word) &var←c034) + 15) ) = 0; (* (( (ptr) (word) &var←c034) + 16) ) = 0; (* (( (ptr) (word) &var←c034) + 17) ) = 0; (* (( (ptr) (word) &var←c034) + 18) ) = 0; { word pd13; pd13 = (* (( (ptr) (* (( (ptr) gf←c15132)+44)/* var←c13084 */ ))+104) ); (* (( (ptr) gf←c15132)+5)/* pullProcs←v3084 */ ) = (word) ( *( (fPt) ((* (ptr) pd13 ))))((word) (&var←c034), pd13); }; }; } static void CreatePipe←P60(formal←c039, formal←c0340) word formal←c039; word formal←c0340; { W7 var←c15164; /* declaration of bufferSize←v3400 skipped */ /* declaration of push←v3444 skipped */ /* declaration of pull←v3472 skipped */ var←c15164.f4/* bufferSize←v3400 */ = formal←c0340; /* CreatePipe: */ SOURCE(514, 426) SOURCE(514, 426) var←c15164.f5/* push←v3444 */ = 0; SOURCE(514, 426) var←c15164.f6/* pull←v3472 */ = 0; SOURCE(589, 351) { word var←c0287; var←c0287 = (word) &var←c15164; (void) (word) XR←Enable(( ((word) (fPt) NoName←Q2760) ), ( ((word) (fPt) NoName←Q4020) ), var←c0287); }; /* removed tail goto */ (* (ptr) formal←c039 ) = var←c15164.f5/* push←v3444 */ ; (* (( (ptr) formal←c039)+1) ) = var←c15164.f6/* pull←v3472 */ ; return; } static word NoName←Q2760(formal←c0246) word formal←c0246; { register ptr gf←c0245 = (ptr) &globalframe; SOURCE(612, 98) { word nChars←v4824; word common←v4852; SOURCE(612, 98) { word var←c13116; var←c13116 = (* (( (ptr) formal←c0246)+4) ); if ((var←c13116 < 2)) { nChars←v4824 = 2; } else { if ((var←c13116 > 1073741823)) { nChars←v4824 = 1073741823; } else { nChars←v4824 = (* (( (ptr) formal←c0246)+4) ); }; }; }; SOURCE(712, 60) { word var←c13148; word var←c13276; { word var←c13180; word var←c13212; word var←c13244; var←c13180 = BCK(nChars←v4824, 32768); var←c13212 = (((var←c13180 + 3) >> 2) << 2); var←c13244 = XR←NewObject((4 + var←c13212), (* (( (ptr) gf←c0245)+7) )); (* (( (hPt) var←c13244)+1) ) = var←c13180; var←c13148 = var←c13244; }; var←c13276 = XR←NewObject(60, (* (( (ptr) gf←c0245)+10) )); (* (( (ptr) var←c13276)+4) ) = var←c13148; (* (W6Pt) (( (ptr) var←c13276)+9) ) = (* (W6Pt) (( (ptr) gf←c0245)+38)/* var←c13052 */ ); common←v4852 = var←c13276; }; SOURCE(774, 29) (* (hPt) (* (( (ptr) common←v4852)+4) ) ) = BCK(nChars←v4824, 32768); SOURCE(805, 41) { word pd14; pd14 = (* (( (ptr) (* (( (ptr) gf←c0245)+44)/* var←c13084 */ ))+105) ); (* (( (ptr) formal←c0246)+5) ) = (word) ( *( (fPt) ((* (ptr) pd14 ))))((* (( (ptr) gf←c0245)+4)/* pushProcs←v3056 */ ), common←v4852, 0, pd14) ; }; SOURCE(848, 41) { word pd15; pd15 = (* (( (ptr) (* (( (ptr) gf←c0245)+44)/* var←c13084 */ ))+105) ); (* (( (ptr) formal←c0246)+6) ) = (word) ( *( (fPt) ((* (ptr) pd15 ))))((* (( (ptr) gf←c0245)+5)/* pullProcs←v3084 */ ), common←v4852, 0, pd15) ; }; SOURCE(899, 41) SOURCE(900, 40) { word pd16; pd16 = (* (( (ptr) (* (( (ptr) gf←c0245)+45)/* var←c13308 */ ))+20) ); (void) ( *( (fPt) ((* (ptr) pd16 ))))((word) ((( (bPt) common←v4852)+36)), pd16); }; }; return(0); } static word PullGetChar←P120(formal←c0341) word formal←c0341; { W8 var←c15196; /* declaration of self←v3532 skipped */ register ptr gf←c15228 = (ptr) &globalframe; /* declaration of c←v3576 skipped */ /* declaration of var←c13340 skipped */ var←c15196.f4/* self←v3532 */ = formal←c0341; /* PullGetChar: */ SOURCE(947, 614) { word tmpAddr17; tmpAddr17 = (word) (( (ptr) &var←c15196)+6)/* var←c13340 */ ; (* (ptr) tmpAddr17 ) = ( ((word) (fPt) innerGetChar←P888) ); (* (( (ptr) tmpAddr17) + 1) ) = 1; }; SOURCE(947, 614) var←c15196.f5/* c←v3576 */ = 0; SOURCE(1448, 113) { word var←c13372; var←c13372 = (* (( (ptr) var←c15196.f4/* self←v3532 */ )+1) ); if ((var←c13372 == 0)) { goto lab←L100003; }; if (((* (( (ptr) gf←c15228)+10) ) == XR←GetReferentType(var←c13372))) { { word data←v5000; data←v5000 = var←c13372; SOURCE(1501, 18) (void) innerGetChar←P888(data←v5000, (word) (( (bPt) &var←c15196)+24)/* var←c13340 */ ); }; } else { lab←L100003: ; SOURCE(1532, 29) { W4 var←c053; (* (ptr) (word) &var←c053 ) = 3; (* (( (ptr) (word) &var←c053) + 1) ) = var←c15196.f4/* self←v3532 */ ; (* (( (ptr) (word) &var←c053) + 2) ) = 0; (* (( (ptr) (word) &var←c053) + 3) ) = 0; (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c15228)+44)/* var←c13084 */ ))+5) ), (word) &var←c053); }; }; }; SOURCE(947, 614) return(var←c15196.f5/* c←v3576 */ ); } static void innerGetChar←P888(formal←c0342, formal←c15292) word formal←c0342; word formal←c15292; { W12 var←c15260; /* declaration of data←v4972 skipped */ /* declaration of var←c13404 skipped */ /* declaration of var←c13436 skipped */ /* declaration of var←c13468 skipped */ /* declaration of var←c13500 skipped */ formal←c15292 = (formal←c15292 - 24); (* (( (ptr) &var←c15260)+4)/* data←v4972 */ ) = formal←c0342; (* (ptr) &var←c15260 ) = formal←c15292; /* innerGetChar: */ SOURCE(1007, 436) (void) (XR←MonitorEntry(* (( (ptr) &var←c15260)+4)/* data←v4972 */ )); SOURCE(1055, 388) { word var←c01; { word var←c0288; var←c0288 = (word) &var←c15260; var←c01 = (word) XR←Enable(( ((word) (fPt) NoName←Q2820) ), ( ((word) (fPt) NoName←Q3960) ), var←c0288); }; if ((var←c01 == 3)) { goto lab←L100010; } else { if ((var←c01 == 2)) { goto lab←L100009; }; }; }; SOURCE(1007, 436) (void) (XR←MonitorExit(* (( (ptr) &var←c15260)+4)/* data←v4972 */ )); return; /* c2c skipped dead code */ lab←L100009: ; SOURCE(1107, 46) { W4 var←c059; var←c059 = (* (W4Pt) (( (ptr) &var←c15260)+6)/* var←c13436 */ ); (void) XR←RaiseError((* (( (ptr) &var←c15260)+5)/* var←c13404 */ ), (word) &var←c059); }; lab←L100010: ; SOURCE(1223, 38) { word var←c060; var←c060 = (* (( (ptr) &var←c15260)+11)/* var←c13500 */ ); (void) XR←RaiseError((* (( (ptr) &var←c15260)+10)/* var←c13468 */ ), (word) &var←c060); }; } static word NoName←Q2820(formal←c0250) word formal←c0250; { register ptr gf←c0249 = (ptr) &globalframe; SOURCE(1078, 205) lab←L100008: ; SOURCE(1081, 72) if ((0 != (* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+7) ))) { SOURCE(1107, 46) (* (( (ptr) formal←c0250)+5) ) = (* (( (ptr) (* (( (ptr) gf←c0249)+44)/* var←c13084 */ ))+5) ); { word tmpAddr18; tmpAddr18 = (word) (( (ptr) formal←c0250)+6); (* (ptr) tmpAddr18 ) = 2; (* (( (ptr) tmpAddr18) + 1) ) = (* (( (ptr) (* (ptr) formal←c0250 ))+4) ); (* (( (ptr) tmpAddr18) + 2) ) = 0; (* (( (ptr) tmpAddr18) + 3) ) = 0; }; (void) (XR←MonitorExit(* (( (ptr) formal←c0250)+4) )); return(2); }; SOURCE(1155, 36) if (((* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+5) ) != (* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+6) ))) { SOURCE(1191, 4) goto lab←L100007; }; SOURCE(1197, 64) if ((0 != (* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+8) ))) { SOURCE(1223, 38) (* (( (ptr) formal←c0250)+10) ) = (* (( (ptr) (* (( (ptr) gf←c0249)+44)/* var←c13084 */ ))+4) ); (* (( (ptr) formal←c0250)+11) ) = (* (( (ptr) (* (ptr) formal←c0250 ))+4) ); (void) (XR←MonitorExit(* (( (ptr) formal←c0250)+4) )); return(3); }; SOURCE(1263, 20) (void) (XR←Wait((* (( (ptr) formal←c0250)+4) ), (word) (( (bPt) (* (( (ptr) formal←c0250)+4) ))+36))); goto lab←L100008; lab←L100007: ; SOURCE(1294, 31) (* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+5) ) = ((* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+5) ) + 1); SOURCE(1327, 58) if (((* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+5) ) == (* (hPt) (* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+4) ) ))) { SOURCE(1369, 16) (* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+5) ) = 0; }; SOURCE(1387, 29) { word var←c13532; var←c13532 = (* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+4) ); { word idx19; word limit20; (* (( (ptr) (* (ptr) formal←c0250 ))+5) ) = (word) (* ((( (bPt) var←c13532)+4)+( idx19 = (* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+5) ), limit20 = (word) (* (( (hPt) var←c13532)+1) ), BCK(idx19, limit20) )) ); }; }; SOURCE(1418, 25) (void) (XR←Broadcast((word) (( (bPt) (* (( (ptr) formal←c0250)+4) ))+36))); return(0); } static word PullGetBlock←P240(formal←c0343, formal←c0344, formal←c0345, count←v3852) word formal←c0343; word formal←c0344; word formal←c0345; word count←v3852; { W11 var←c15324; /* declaration of self←v3768 skipped */ /* declaration of block←v3796 skipped */ /* declaration of startIndex←v3824 skipped */ register ptr gf←c15356 = (ptr) &globalframe; /* declaration of nBytesRead←v3908 skipped */ /* declaration of var←c13564 skipped */ word stopIndexPlusOne←v5072; /* declaration of delta←v5100 skipped */ (* (( (ptr) &var←c15324)+4)/* self←v3768 */ ) = formal←c0343; (* (( (ptr) &var←c15324)+5)/* block←v3796 */ ) = formal←c0344; (* (( (ptr) &var←c15324)+6)/* startIndex←v3824 */ ) = formal←c0345; /* PullGetBlock: */ SOURCE(1670, 1594) { word tmpAddr21; tmpAddr21 = (word) (( (ptr) &var←c15324)+8)/* var←c13564 */ ; (* (ptr) tmpAddr21 ) = ( ((word) (fPt) innerGetBlock←P996) ); (* (( (ptr) tmpAddr21) + 1) ) = 1; }; SOURCE(1670, 1594) (* (( (ptr) &var←c15324)+7)/* nBytesRead←v3908 */ ) = 0; SOURCE(2988, 71) { word x22; word x23; word x24; stopIndexPlusOne←v5072 = (x23 = (x22 = ((* (( (ptr) &var←c15324)+6)/* startIndex←v3824 */ ) + count←v3852), MIN( (unsigned) , x22, 2147483647)), x24 = (* (( (hPt) (* (( (ptr) &var←c15324)+5)/* block←v3796 */ ))+1) ), MIN( (unsigned) , x23, x24)); }; SOURCE(3061, 87) (* (( (ptr) &var←c15324)+10)/* delta←v5100 */ ) = ( (stopIndexPlusOne←v5072 > (* (( (ptr) &var←c15324)+6)/* startIndex←v3824 */ )) ? (stopIndexPlusOne←v5072 - (* ( ( (ptr) &var←c15324)+6)/* startIndex←v3824 */ )) : 0 ) ; SOURCE(3150, 114) { word var←c13596; var←c13596 = (* (( (ptr) (* (( (ptr) &var←c15324)+4)/* self←v3768 */ ))+1) ); if ((var←c13596 == 0)) { goto lab←L100012; }; if (((* (( (ptr) gf←c15356)+10) ) == XR←GetReferentType(var←c13596))) { { word data←v5204; data←v5204 = var←c13596; SOURCE(3203, 19) (void) innerGetBlock←P996(data←v5204, (word) (( (bPt) &var←c15324)+32)/* var←c13564 */ ); }; } else { lab←L100012: ; SOURCE(3235, 29) { W4 var←c072; (* (ptr) (word) &var←c072 ) = 3; (* (( (ptr) (word) &var←c072) + 1) ) = (* (( (ptr) &var←c15324)+4)/* self←v3768 */ ); (* (( (ptr) (word) &var←c072) + 2) ) = 0; (* (( (ptr) (word) &var←c072) + 3) ) = 0; (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c15356)+44)/* var←c13084 */ ))+5) ), (word) &var←c072); }; }; }; SOURCE(1670, 1594) return((* (( (ptr) &var←c15324)+7)/* nBytesRead←v3908 */ )); } static void innerGetBlock←P996(formal←c0346, formal←c15420) word formal←c0346; word formal←c15420; { W10 var←c15388; /* declaration of data←v5176 skipped */ /* declaration of var←c13628 skipped */ /* declaration of var←c13660 skipped */ formal←c15420 = (formal←c15420 - 32); (* (( (ptr) &var←c15388)+4)/* data←v5176 */ ) = formal←c0346; (* (ptr) &var←c15388 ) = formal←c15420; /* innerGetBlock: */ SOURCE(1784, 1190) (void) (XR←MonitorEntry(* (( (ptr) &var←c15388)+4)/* data←v5176 */ )); SOURCE(1833, 1141) { word var←c02; { word var←c0289; var←c0289 = (word) &var←c15388; var←c02 = (word) XR←Enable(( ((word) (fPt) NoName←Q2880) ), ( ((word) (fPt) NoName←Q3900) ), var←c0289); }; if ((var←c02 == 4)) { goto lab←L100021; } else { if ((var←c02 == 1)) { goto lab←L04; }; }; }; SOURCE(1784, 1190) (void) (XR←MonitorExit(* (( (ptr) &var←c15388)+4)/* data←v5176 */ )); return; /* c2c skipped dead code */ lab←L100021: ; SOURCE(1933, 46) { W4 var←c076; var←c076 = (* (W4Pt) (( (ptr) &var←c15388)+6)/* var←c13660 */ ); (void) XR←RaiseError((* (( (ptr) &var←c15388)+5)/* var←c13628 */ ), (word) &var←c076); }; lab←L04: ; return; } static word NoName←Q2880(formal←c0254) word formal←c0254; { register ptr gf←c0253 = (ptr) &globalframe; SOURCE(1856, 27) { word pullPos←v5248; SOURCE(1856, 27) pullPos←v5248 = (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+5) ); SOURCE(1885, 1089) lab←L100017: ; if (((* (( (ptr) (* (ptr) formal←c0254 ))+10) ) > 0)) { } else { goto lab←L100015; }; SOURCE(1904, 192) lab←L100020: ; SOURCE(1907, 72) if ((0 != (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+7) ))) { SOURCE(1933, 46) (* (( (ptr) formal←c0254)+5) ) = (* (( (ptr) (* (( (ptr) gf←c0253)+44)/* var←c13084 */ ))+5) ); { word tmpAddr25; tmpAddr25 = (word) (( (ptr) formal←c0254)+6); (* (ptr) tmpAddr25 ) = 2; (* (( (ptr) tmpAddr25) + 1) ) = (* (( (ptr) (* (ptr) formal←c0254 ))+4) ); (* (( (ptr) tmpAddr25) + 2) ) = 0; (* (( (ptr) tmpAddr25) + 3) ) = 0; }; (void) (XR←MonitorExit(* (( (ptr) formal←c0254)+4) )); return(4); }; SOURCE(1981, 31) if ((pullPos←v5248 != (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+6) ))) { SOURCE(2012, 4) goto lab←L100019; }; SOURCE(2018, 32) if ((0 != (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+8) ))) { SOURCE(2044, 6) (void) (XR←MonitorExit(* (( (ptr) formal←c0254)+4) )); return(1); }; SOURCE(2052, 20) (void) (XR←Wait((* (( (ptr) formal←c0254)+4) ), (word) (( (bPt) (* (( (ptr) formal←c0254)+4) ))+36))); SOURCE(2074, 22) pullPos←v5248 = (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+5) ); goto lab←L100020; lab←L100019: ; SOURCE(2107, 297) if ((pullPos←v5248 > (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+6) ))) { SOURCE(2138, 268) { word nBytes←v5292; SOURCE(2140, 61) { word x26; word x27; nBytes←v5292 = (x26 = (((* (( (hPt) (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+4) ))+1) ) - 1) - pullPos←v5248), x27 = (* (( (ptr) (* (ptr) formal←c0254 ))+10) ), MIN((int)(word), x26, x27)); }; SOURCE(2203, 106) { register word i←v5336; register word noName←c13692; i←v5336 = pullPos←v5248; noName←c13692 = (pullPos←v5248 + nBytes←v5292); if ((i←v5336 >= noName←c13692)) { goto lab←L100022; }; i←v5336 = (i←v5336 + 1); lab←L100025: ; SOURCE(2246, 34) { word var←c13724; var←c13724 = (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+4) ); { word idx28; word limit29; word limit30; (* ((( (bPt) (* (( (ptr) (* (ptr) formal←c0254 ))+5) ))+4)+( idx28 = (* (( (ptr) (* (ptr) formal←c0254 ))+6) ), limit29 = (word) (* (( (hPt) (* (( (ptr) (* (ptr) formal←c0254 ))+5) ))+1) ), BCK(idx28, limit29) )) ) = (word) (* ((( (bPt) var←c13724)+4)+( limit30 = (word) (* (( (hPt) var←c13724)+1) ), BCK(i←v5336, limit30) )) ); }; }; SOURCE(2282, 27) (* (( (ptr) (* (ptr) formal←c0254 ))+6) ) = ((* (( (ptr) (* (ptr) formal←c0254 ))+6) ) + 1); if ((i←v5336 >= noName←c13692)) { goto lab←L100022; }; i←v5336 = (i←v5336 + 1); goto lab←L100025; lab←L100022: ; }; SOURCE(2320, 26) pullPos←v5248 = SGNCK((pullPos←v5248 + nBytes←v5292)); SOURCE(2348, 32) { word idx31; (* (( (ptr) (* (ptr) formal←c0254 ))+7) ) = ( idx31 = (word) ((* (( (ptr) (* (ptr) formal←c0254 ))+7) ) + nBytes←v5292), SGNCK(idx31) ); }; SOURCE(2382, 22) (* (( (ptr) (* (ptr) formal←c0254 ))+10) ) = ((* (( (ptr) (* (ptr) formal←c0254 ))+10) ) - nBytes←v5292); }; }; SOURCE(2409, 181) { word tc32; if (( (int)pullPos←v5248 == (int)((* (( (hPt) (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+4) ))+1) ) - 1))) { tc32 = (word) ((* (( (ptr) (* (ptr) formal←c0254 ))+10) ) > 0); } else { tc32 = (word) 0; }; if (tc32) { SOURCE(2469, 44) { word var←c13756; word var←c13788; pullPos←v5248 = 0; var←c13756 = 0; var←c13788 = (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+4) ); { word idx33; word limit34; word limit35; (* ((( (bPt) (* (( (ptr) (* (ptr) formal←c0254 ))+5) ))+4)+( idx33 = (* (( (ptr) (* (ptr) formal←c0254 ))+6) ), limit34 = (word) (* (( (hPt) (* (( (ptr) (* (ptr) formal←c0254 ))+5) ))+1) ), BCK(idx33, limit34) )) ) = (word) (* ((( (bPt) var←c13788)+4)+( limit35 = (word) (* (( (hPt) var←c13788)+1) ), BCK(var←c13756, limit35) )) ); }; }; SOURCE(2515, 27) (* (( (ptr) (* (ptr) formal←c0254 ))+6) ) = ((* (( (ptr) (* (ptr) formal←c0254 ))+6) ) + 1); SOURCE(2544, 27) (* (( (ptr) (* (ptr) formal←c0254 ))+7) ) = ((* (( (ptr) (* (ptr) formal←c0254 ))+7) ) + 1); SOURCE(2573, 17) { word idx36; (* (( (ptr) (* (ptr) formal←c0254 ))+10) ) = ( idx36 = (word) ((* (( (ptr) (* (ptr) formal←c0254 ))+10) ) - 1), SGNCK(idx36) ); }; }; }; SOURCE(2595, 298) if ( ( (pullPos←v5248 < (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+6) )) ? ((* (( (ptr) (* (ptr) formal←c0254 ))+10) ) > 0) : 0 ) ) { SOURCE(2640, 255) { word nBytes←v5380; SOURCE(2642, 48) { word x37; word x38; nBytes←v5380 = (x37 = ((* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+6) ) - pullPos←v5248), x38 = (* (( (ptr) (* (ptr) formal←c0254 ))+10) ), MIN((int)(word), x37, x38)); }; SOURCE(2692, 106) { register word i←v5424; register word noName←c13820; i←v5424 = pullPos←v5248; noName←c13820 = (pullPos←v5248 + nBytes←v5380); if ((i←v5424 >= noName←c13820)) { goto lab←L100026; }; i←v5424 = (i←v5424 + 1); lab←L100029: ; SOURCE(2735, 34) { word var←c13852; var←c13852 = (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+4) ); { word idx39; word limit40; word limit41; (* ((( (bPt) (* (( (ptr) (* (ptr) formal←c0254 ))+5) ))+4)+( idx39 = (* (( (ptr) (* (ptr) formal←c0254 ))+6) ), limit40 = (word) (* (( (hPt) (* (( (ptr) (* (ptr) formal←c0254 ))+5) ))+1) ), BCK(idx39, limit40) )) ) = (word) (* ((( (bPt) var←c13852)+4)+( limit41 = (word) (* (( (hPt) var←c13852)+1) ), BCK(i←v5424, limit41) )) ); }; }; SOURCE(2771, 27) (* (( (ptr) (* (ptr) formal←c0254 ))+6) ) = ((* (( (ptr) (* (ptr) formal←c0254 ))+6) ) + 1); if ((i←v5424 >= noName←c13820)) { goto lab←L100026; }; i←v5424 = (i←v5424 + 1); goto lab←L100029; lab←L100026: ; }; SOURCE(2809, 26) pullPos←v5248 = SGNCK((pullPos←v5248 + nBytes←v5380)); SOURCE(2837, 32) { word idx42; (* (( (ptr) (* (ptr) formal←c0254 ))+7) ) = ( idx42 = (word) ((* (( (ptr) (* (ptr) formal←c0254 ))+7) ) + nBytes←v5380), SGNCK(idx42) ); }; SOURCE(2871, 22) (* (( (ptr) (* (ptr) formal←c0254 ))+10) ) = ((* (( (ptr) (* (ptr) formal←c0254 ))+10) ) - nBytes←v5380); }; }; SOURCE(2898, 22) (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+5) ) = pullPos←v5248; SOURCE(2922, 25) { word idx43; (* (hPt) (* (( (ptr) (* (ptr) formal←c0254 ))+5) ) ) = ( idx43 = (* (( (ptr) (* (ptr) formal←c0254 ))+6) ), BCK(idx43, 32768) ); }; SOURCE(2949, 25) (void) (XR←Broadcast((word) (( (bPt) (* (( (ptr) formal←c0254)+4) ))+36))); goto lab←L100017; lab←L100015: ; }; return(0); } static word PullCharsAvail←P300(formal←c0347, formal←c0348) word formal←c0347; word formal←c0348; { W9 var←c15452; /* declaration of self←v3968 skipped */ /* declaration of wait←v3996 skipped */ register ptr gf←c15484 = (ptr) &globalframe; /* declaration of diff←v4040 skipped */ /* declaration of var←c13884 skipped */ (* (( (ptr) &var←c15452)+4)/* self←v3968 */ ) = formal←c0347; (* (( (ptr) &var←c15452)+5)/* wait←v3996 */ ) = formal←c0348; /* PullCharsAvail: */ SOURCE(3270, 587) { word tmpAddr44; tmpAddr44 = (word) (( (ptr) &var←c15452)+7)/* var←c13884 */ ; (* (ptr) tmpAddr44 ) = ( ((word) (fPt) innerCharsAvail←P1344) ); (* (( (ptr) tmpAddr44) + 1) ) = 1; }; SOURCE(3270, 587) (* (( (ptr) &var←c15452)+6)/* diff←v4040 */ ) = 0; SOURCE(3741, 116) { word var←c13916; var←c13916 = (* (( (ptr) (* (( (ptr) &var←c15452)+4)/* self←v3968 */ ))+1) ); if ((var←c13916 == 0)) { goto lab←L100031; }; if (((* (( (ptr) gf←c15484)+10) ) == XR←GetReferentType(var←c13916))) { { word data←v5572; data←v5572 = var←c13916; SOURCE(3794, 21) (void) innerCharsAvail←P1344(data←v5572, (word) (( (bPt) &var←c15452)+28)/* var←c13884 */ ); }; } else { lab←L100031: ; SOURCE(3828, 29) { W4 var←c094; (* (ptr) (word) &var←c094 ) = 3; (* (( (ptr) (word) &var←c094) + 1) ) = (* (( (ptr) &var←c15452)+4)/* self←v3968 */ ); (* (( (ptr) (word) &var←c094) + 2) ) = 0; (* (( (ptr) (word) &var←c094) + 3) ) = 0; (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c15484)+44)/* var←c13084 */ ))+5) ), (word) &var←c094); }; }; }; SOURCE(3270, 587) return((* (( (ptr) &var←c15452)+6)/* diff←v4040 */ )); } static void innerCharsAvail←P1344(formal←c0349, formal←c15548) word formal←c0349; word formal←c15548; { W10 var←c15516; /* declaration of data←v5544 skipped */ /* declaration of var←c13948 skipped */ /* declaration of var←c13980 skipped */ formal←c15548 = (formal←c15548 - 28); (* (( (ptr) &var←c15516)+4)/* data←v5544 */ ) = formal←c0349; (* (ptr) &var←c15516 ) = formal←c15548; /* innerCharsAvail: */ SOURCE(3346, 381) (void) (XR←MonitorEntry(* (( (ptr) &var←c15516)+4)/* data←v5544 */ )); SOURCE(3397, 330) { word var←c03; { word var←c0290; var←c0290 = (word) &var←c15516; var←c03 = (word) XR←Enable(( ((word) (fPt) NoName←Q2940) ), ( ((word) (fPt) NoName←Q3840) ), var←c0290); }; if ((var←c03 == 5)) { goto lab←L100037; }; }; SOURCE(3346, 381) (void) (XR←MonitorExit(* (( (ptr) &var←c15516)+4)/* data←v5544 */ )); return; /* c2c skipped dead code */ lab←L100037: ; SOURCE(3449, 46) { W4 var←c098; var←c098 = (* (W4Pt) (( (ptr) &var←c15516)+6)/* var←c13980 */ ); (void) XR←RaiseError((* (( (ptr) &var←c15516)+5)/* var←c13948 */ ), (word) &var←c098); }; } static word NoName←Q2940(formal←c0258) word formal←c0258; { register ptr gf←c0257 = (ptr) &globalframe; SOURCE(3420, 307) lab←L100036: ; SOURCE(3423, 72) if ((0 != (* (( (ptr) (* (( (ptr) formal←c0258)+4) ))+7) ))) { SOURCE(3449, 46) (* (( (ptr) formal←c0258)+5) ) = (* (( (ptr) (* (( (ptr) gf←c0257)+44)/* var←c13084 */ ))+5) ); { word tmpAddr45; tmpAddr45 = (word) (( (ptr) formal←c0258)+6); (* (ptr) tmpAddr45 ) = 2; (* (( (ptr) tmpAddr45) + 1) ) = (* (( (ptr) (* (ptr) formal←c0258 ))+4) ); (* (( (ptr) tmpAddr45) + 2) ) = 0; (* (( (ptr) tmpAddr45) + 3) ) = 0; }; (void) (XR←MonitorExit(* (( (ptr) formal←c0258)+4) )); return(5); }; SOURCE(3497, 44) (* (( (ptr) (* (ptr) formal←c0258 ))+6) ) = ((* (( (ptr) (* (( (ptr) formal←c0258)+4) ))+6) ) - (* (( (ptr) (* (( (ptr) formal←c0258)+4) ))+5) )); SOURCE(3543, 17) if (( (int)(* (( (ptr) (* (ptr) formal←c0258 ))+6) ) > (int)0)) { SOURCE(3560, 4) goto lab←L100035; }; SOURCE(3566, 53) if (( (int)(* (( (ptr) (* (ptr) formal←c0258 ))+6) ) < (int)0)) { SOURCE(3584, 35) (* (( (ptr) (* (ptr) formal←c0258 ))+6) ) = ((* (( (ptr) (* (ptr) formal←c0258 ))+6) ) + (* (( (hPt) (* (( (ptr) (* (( (ptr) formal←c0258)+4) ))+4) ))+1) )); SOURCE(3621, 4) goto lab←L100035; }; SOURCE(3628, 35) if ((0 != (* (( (ptr) (* (( (ptr) formal←c0258)+4) ))+8) ))) { SOURCE(3655, 8) (* (( (ptr) (* (ptr) formal←c0258 ))+6) ) = 1; SOURCE(3665, 4) goto lab←L100035; }; SOURCE(3672, 26) if ((0 == (* (( (ptr) (* (ptr) formal←c0258 ))+5) ))) { SOURCE(3690, 8) (* (( (ptr) (* (ptr) formal←c0258 ))+6) ) = 0; SOURCE(3700, 4) goto lab←L100035; }; SOURCE(3707, 20) (void) (XR←Wait((* (( (ptr) formal←c0258)+4) ), (word) (( (bPt) (* (( (ptr) formal←c0258)+4) ))+36))); goto lab←L100036; lab←L100035: ; return(0); } static word PullEndOf←P360(self←v4100) word self←v4100; { W7 var←c15580; register ptr gf←c15612 = (ptr) &globalframe; /* declaration of eof←v4144 skipped */ /* declaration of var←c14012 skipped */ /* PullEndOf: */ SOURCE(3863, 303) { word tmpAddr46; tmpAddr46 = (word) (( (ptr) &var←c15580)+5)/* var←c14012 */ ; (* (ptr) tmpAddr46 ) = ( ((word) (fPt) innerEndOf←P1452) ); (* (( (ptr) tmpAddr46) + 1) ) = 1; }; SOURCE(3863, 303) var←c15580.f4/* eof←v4144 */ = 0; SOURCE(4055, 111) { word var←c14044; var←c14044 = (* (( (ptr) self←v4100)+1) ); if ((var←c14044 == 0)) { goto lab←L100039; }; if (((* (( (ptr) gf←c15612)+10) ) == XR←GetReferentType(var←c14044))) { { word data←v5720; data←v5720 = var←c14044; SOURCE(4108, 16) (void) innerEndOf←P1452(data←v5720, (word) (( (bPt) &var←c15580)+20)/* var←c14012 */ ); }; } else { lab←L100039: ; SOURCE(4137, 29) { W4 var←c0104; (* (ptr) (word) &var←c0104 ) = 3; (* (( (ptr) (word) &var←c0104) + 1) ) = self←v4100; (* (( (ptr) (word) &var←c0104) + 2) ) = 0; (* (( (ptr) (word) &var←c0104) + 3) ) = 0; (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c15612)+44)/* var←c13084 */ ))+5) ), (word) &var←c0104); }; }; }; SOURCE(3863, 303) return(var←c15580.f4/* eof←v4144 */ ); } static void innerEndOf←P1452(formal←c0350, formal←c15676) word formal←c0350; word formal←c15676; { W5 var←c15644; /* declaration of data←v5692 skipped */ formal←c15676 = (formal←c15676 - 20); var←c15644.f4/* data←v5692 */ = formal←c0350; var←c15644.f0 = formal←c15676; /* innerEndOf: */ SOURCE(3926, 124) (void) (XR←MonitorEntry(var←c15644.f4/* data←v5692 */ )); SOURCE(3972, 78) { word var←c0291; var←c0291 = (word) &var←c15644; (void) (word) XR←Enable(( ((word) (fPt) NoName←Q3000) ), ( ((word) (fPt) NoName←Q3780) ), var←c0291); }; SOURCE(3926, 124) (void) (XR←MonitorExit(var←c15644.f4/* data←v5692 */ )); return; } static word NoName←Q3000(formal←c0261) word formal←c0261; { SOURCE(3995, 55) if (((* (( (ptr) (* (( (ptr) formal←c0261)+4) ))+6) ) == (* (( (ptr) (* (( (ptr) formal←c0261)+4) ))+5) ))) { (* (( (ptr) (* (ptr) formal←c0261 ))+4) ) = (0 != (* (( (ptr) (* (( (ptr) formal←c0261)+4) ))+8) )); } else { (* (( (ptr) (* (ptr) formal←c0261 ))+4) ) = 0; }; return(0); } static void PullClose←P420(formal←c0351, formal←c0352) word formal←c0351; word formal←c0352; { W8 var←c15708; /* declaration of self←v4204 skipped */ /* declaration of abort←v4232 skipped */ register ptr gf←c15740 = (ptr) &globalframe; /* declaration of var←c14076 skipped */ var←c15708.f4/* self←v4204 */ = formal←c0351; var←c15708.f5/* abort←v4232 */ = formal←c0352; /* PullClose: */ SOURCE(4172, 408) { word tmpAddr47; tmpAddr47 = (word) (( (ptr) &var←c15708)+6)/* var←c14076 */ ; (* (ptr) tmpAddr47 ) = ( ((word) (fPt) innerClose←P1560) ); (* (( (ptr) tmpAddr47) + 1) ) = 1; }; SOURCE(4469, 111) { word var←c14108; var←c14108 = (* (( (ptr) var←c15708.f4/* self←v4204 */ )+1) ); if ((var←c14108 == 0)) { goto lab←L100042; }; if (((* (( (ptr) gf←c15740)+10) ) == XR←GetReferentType(var←c14108))) { { word data←v5868; data←v5868 = var←c14108; SOURCE(4522, 16) (void) innerClose←P1560(data←v5868, (word) (( (bPt) &var←c15708)+24)/* var←c14076 */ ); }; } else { lab←L100042: ; SOURCE(4551, 29) { W4 var←c0111; (* (ptr) (word) &var←c0111 ) = 3; (* (( (ptr) (word) &var←c0111) + 1) ) = var←c15708.f4/* self←v4204 */ ; (* (( (ptr) (word) &var←c0111) + 2) ) = 0; (* (( (ptr) (word) &var←c0111) + 3) ) = 0; (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c15740)+44)/* var←c13084 */ ))+5) ), (word) &var←c0111); }; }; }; } static void innerClose←P1560(formal←c0353, formal←c15804) word formal←c0353; word formal←c15804; { W10 var←c15772; /* declaration of data←v5840 skipped */ /* declaration of var←c14140 skipped */ /* declaration of var←c14172 skipped */ formal←c15804 = (formal←c15804 - 24); (* (( (ptr) &var←c15772)+4)/* data←v5840 */ ) = formal←c0353; (* (ptr) &var←c15772 ) = formal←c15804; /* innerClose: */ SOURCE(4220, 244) (void) (XR←MonitorEntry(* (( (ptr) &var←c15772)+4)/* data←v5840 */ )); SOURCE(4266, 198) { word var←c04; { word var←c0292; var←c0292 = (word) &var←c15772; var←c04 = (word) XR←Enable(( ((word) (fPt) NoName←Q3060) ), ( ((word) (fPt) NoName←Q3720) ), var←c0292); }; if ((var←c04 == 6)) { goto lab←L100045; }; }; SOURCE(4220, 244) (void) (XR←MonitorExit(* (( (ptr) &var←c15772)+4)/* data←v5840 */ )); return; /* c2c skipped dead code */ lab←L100045: ; SOURCE(4362, 46) { W4 var←c0115; var←c0115 = (* (W4Pt) (( (ptr) &var←c15772)+6)/* var←c14172 */ ); (void) XR←RaiseError((* (( (ptr) &var←c15772)+5)/* var←c14140 */ ), (word) &var←c0115); }; } static word NoName←Q3060(formal←c0265) word formal←c0265; { register ptr gf←c0264 = (ptr) &globalframe; SOURCE(4289, 24) (* (( (ptr) (* (( (ptr) formal←c0265)+4) ))+7) ) = 1; SOURCE(4315, 93) if ( ( (0 == (* (( (ptr) (* (ptr) formal←c0265 ))+5) )) ? ((* (( (ptr) (* (( (ptr) formal←c0265)+4) ))+6) ) != (* (( (ptr) (* ( ( (ptr) formal←c0265)+4) ))+5) )) : 0 ) ) { SOURCE(4362, 46) (* (( (ptr) formal←c0265)+5) ) = (* (( (ptr) (* (( (ptr) gf←c0264)+44)/* var←c13084 */ ))+5) ); { word tmpAddr48; tmpAddr48 = (word) (( (ptr) formal←c0265)+6); (* (ptr) tmpAddr48 ) = 2; (* (( (ptr) tmpAddr48) + 1) ) = (* (( (ptr) (* (ptr) formal←c0265 ))+4) ); (* (( (ptr) tmpAddr48) + 2) ) = 0; (* (( (ptr) tmpAddr48) + 3) ) = 0; }; (void) (XR←MonitorExit(* (( (ptr) formal←c0265)+4) )); return(6); }; SOURCE(4410, 27) (* (( (ptr) (* (( (ptr) formal←c0265)+4) ))+5) ) = (* (( (ptr) (* (( (ptr) formal←c0265)+4) ))+6) ); SOURCE(4439, 25) (void) (XR←Broadcast((word) (( (bPt) (* (( (ptr) formal←c0265)+4) ))+36))); return(0); } static void PushPutChar←P480(formal←c0354, formal←c0355) word formal←c0354; word formal←c0355; { W8 var←c15836; /* declaration of self←v4292 skipped */ /* declaration of char←v4320 skipped */ register ptr gf←c15868 = (ptr) &globalframe; /* declaration of var←c14204 skipped */ var←c15836.f4/* self←v4292 */ = formal←c0354; var←c15836.f5/* char←v4320 */ = formal←c0355; /* PushPutChar: */ SOURCE(4586, 559) { word tmpAddr49; tmpAddr49 = (word) (( (ptr) &var←c15836)+6)/* var←c14204 */ ; (* (ptr) tmpAddr49 ) = ( ((word) (fPt) innerPutChar←P1668) ); (* (( (ptr) tmpAddr49) + 1) ) = 1; }; SOURCE(5032, 113) { word var←c14236; var←c14236 = (* (( (ptr) var←c15836.f4/* self←v4292 */ )+1) ); if ((var←c14236 == 0)) { goto lab←L100047; }; if (((* (( (ptr) gf←c15868)+10) ) == XR←GetReferentType(var←c14236))) { { word data←v6016; data←v6016 = var←c14236; SOURCE(5085, 18) (void) innerPutChar←P1668(data←v6016, (word) (( (bPt) &var←c15836)+24)/* var←c14204 */ ); }; } else { lab←L100047: ; SOURCE(5116, 29) { W4 var←c0121; (* (ptr) (word) &var←c0121 ) = 3; (* (( (ptr) (word) &var←c0121) + 1) ) = var←c15836.f4/* self←v4292 */ ; (* (( (ptr) (word) &var←c0121) + 2) ) = 0; (* (( (ptr) (word) &var←c0121) + 3) ) = 0; (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c15868)+44)/* var←c13084 */ ))+5) ), (word) &var←c0121); }; }; }; } static void innerPutChar←P1668(formal←c0356, formal←c15932) word formal←c0356; word formal←c15932; { W10 var←c15900; /* declaration of data←v5988 skipped */ /* declaration of var←c14268 skipped */ /* declaration of var←c14300 skipped */ formal←c15932 = (formal←c15932 - 24); (* (( (ptr) &var←c15900)+4)/* data←v5988 */ ) = formal←c0356; (* (ptr) &var←c15900 ) = formal←c15932; /* innerPutChar: */ SOURCE(4635, 383) (void) (XR←MonitorEntry(* (( (ptr) &var←c15900)+4)/* data←v5988 */ )); SOURCE(4683, 335) { word var←c05; { word var←c0293; var←c0293 = (word) &var←c15900; var←c05 = (word) XR←Enable(( ((word) (fPt) NoName←Q3120) ), ( ((word) (fPt) NoName←Q3660) ), var←c0293); }; if ((var←c05 == 7)) { goto lab←L100050; } else { if ((var←c05 == 1)) { goto lab←L09; }; }; }; goto lab←L100054; lab←L100050: ; SOURCE(4753, 46) { W4 var←c0125; var←c0125 = (* (W4Pt) (( (ptr) &var←c15900)+6)/* var←c14300 */ ); (void) XR←RaiseError((* (( (ptr) &var←c15900)+5)/* var←c14268 */ ), (word) &var←c0125); }; lab←L100054: ; lab←L09: ; return; } static word NoName←Q3120(formal←c0269) word formal←c0269; { register ptr gf←c0268 = (ptr) &globalframe; SOURCE(4706, 93) if ((0 != (* (( (ptr) (* (( (ptr) formal←c0269)+4) ))+8) )) || (0 != (* (( (ptr) (* (( (ptr) formal←c0269)+4) ))+7) ))) { SOURCE(4753, 46) (* (( (ptr) formal←c0269)+5) ) = (* (( (ptr) (* (( (ptr) gf←c0268)+44)/* var←c13084 */ ))+5) ); { word tmpAddr50; tmpAddr50 = (word) (( (ptr) formal←c0269)+6); (* (ptr) tmpAddr50 ) = 2; (* (( (ptr) tmpAddr50) + 1) ) = (* (( (ptr) (* (ptr) formal←c0269 ))+4) ); (* (( (ptr) tmpAddr50) + 2) ) = 0; (* (( (ptr) tmpAddr50) + 3) ) = 0; }; (void) (XR←MonitorExit(* (( (ptr) formal←c0269)+4) )); return(7); }; SOURCE(4801, 217) lab←L100053: ; SOURCE(4801, 217) { word new←v6060; SOURCE(4804, 27) new←v6060 = ((* (( (ptr) (* (( (ptr) formal←c0269)+4) ))+6) ) + 1); SOURCE(4833, 40) if ((new←v6060 == (* (hPt) (* (( (ptr) (* (( (ptr) formal←c0269)+4) ))+4) ) ))) { SOURCE(4866, 7) new←v6060 = 0; }; SOURCE(4875, 118) if ((new←v6060 != (* (( (ptr) (* (( (ptr) formal←c0269)+4) ))+5) ))) { SOURCE(4904, 18) (* (( (ptr) (* (( (ptr) formal←c0269)+4) ))+6) ) = new←v6060; SOURCE(4924, 32) { word var←c14332; var←c14332 = (* (( (ptr) (* (( (ptr) formal←c0269)+4) ))+4) ); { word idx51; word limit52; (* ((( (bPt) var←c14332)+4)+( idx51 = (* (( (ptr) (* (( (ptr) formal←c0269)+4) ))+6) ), limit52 = (word) (* (( (hPt) var←c14332)+1) ), BCK(idx51, limit52) )) ) = (* (( (bPt) (* (ptr) formal←c0269 ))+23) ); }; }; SOURCE(4958, 25) (void) (XR←Broadcast((word) (( (bPt) (* (( (ptr) formal←c0269)+4) ))+36))); SOURCE(4987, 6) (void) (XR←MonitorExit(* (( (ptr) formal←c0269)+4) )); return(1); }; SOURCE(4998, 20) (void) (XR←Wait((* (( (ptr) formal←c0269)+4) ), (word) (( (bPt) (* (( (ptr) formal←c0269)+4) ))+36))); }; goto lab←L100053; /* c2c skipped dead code */ } static void PushPutBlock←P540(formal←c0357, formal←c0358, formal←c0359, count←v4464) word formal←c0357; word formal←c0358; word formal←c0359; word count←v4464; { W10 var←c15964; /* declaration of self←v4380 skipped */ /* declaration of block←v4408 skipped */ /* declaration of startIndex←v4436 skipped */ register ptr gf←c15996 = (ptr) &globalframe; /* declaration of var←c14364 skipped */ /* declaration of stopIndexPlusOne←v6132 skipped */ (* (( (ptr) &var←c15964)+4)/* self←v4380 */ ) = formal←c0357; (* (( (ptr) &var←c15964)+5)/* block←v4408 */ ) = formal←c0358; (* (( (ptr) &var←c15964)+6)/* startIndex←v4436 */ ) = formal←c0359; /* PushPutBlock: */ SOURCE(5151, 961) { word tmpAddr53; tmpAddr53 = (word) (( (ptr) &var←c15964)+7)/* var←c14364 */ ; (* (ptr) tmpAddr53 ) = ( ((word) (fPt) innerPutBlock←P1824) ); (* (( (ptr) tmpAddr53) + 1) ) = 1; }; SOURCE(5891, 49) { word x54; (* (( (ptr) &var←c15964)+9)/* stopIndexPlusOne←v6132 */ ) = (x54 = ((* (( (ptr) &var←c15964)+6)/* startIndex←v4436 */ ) + count←v4464), MIN( (unsigned) , x54, 2147483647)); }; SOURCE(5942, 54) { word x55; word x56; (* (( (ptr) &var←c15964)+9)/* stopIndexPlusOne←v6132 */ ) = (x55 = (* (( (ptr) &var←c15964)+9)/* stopIndexPlusOne←v6132 */ ), x56 = (* (hPt) (* (( (ptr) &var←c15964)+5)/* block←v4408 */ ) ), MIN( (unsigned) , x55, x56)); }; SOURCE(5998, 114) { word var←c14396; var←c14396 = (* (( (ptr) (* (( (ptr) &var←c15964)+4)/* self←v4380 */ ))+1) ); if ((var←c14396 == 0)) { goto lab←L100055; }; if (((* (( (ptr) gf←c15996)+10) ) == XR←GetReferentType(var←c14396))) { { word data←v6236; data←v6236 = var←c14396; SOURCE(6051, 19) (void) innerPutBlock←P1824(data←v6236, (word) (( (bPt) &var←c15964)+28)/* var←c14364 */ ); }; } else { lab←L100055: ; SOURCE(6083, 29) { W4 var←c0136; (* (ptr) (word) &var←c0136 ) = 3; (* (( (ptr) (word) &var←c0136) + 1) ) = (* (( (ptr) &var←c15964)+4)/* self←v4380 */ ); (* (( (ptr) (word) &var←c0136) + 2) ) = 0; (* (( (ptr) (word) &var←c0136) + 3) ) = 0; (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c15996)+44)/* var←c13084 */ ))+5) ), (word) &var←c0136); }; }; }; } static void innerPutBlock←P1824(formal←c0360, formal←c16060) word formal←c0360; word formal←c16060; { W10 var←c16028; /* declaration of data←v6208 skipped */ /* declaration of var←c14428 skipped */ /* declaration of var←c14460 skipped */ formal←c16060 = (formal←c16060 - 28); (* (( (ptr) &var←c16028)+4)/* data←v6208 */ ) = formal←c0360; (* (ptr) &var←c16028 ) = formal←c16060; /* innerPutBlock: */ SOURCE(5239, 638) (void) (XR←MonitorEntry(* (( (ptr) &var←c16028)+4)/* data←v6208 */ )); SOURCE(5288, 589) { word var←c06; { word var←c0294; var←c0294 = (word) &var←c16028; var←c06 = (word) XR←Enable(( ((word) (fPt) NoName←Q3180) ), ( ((word) (fPt) NoName←Q3600) ), var←c0294); }; if ((var←c06 == 8)) { goto lab←L100061; }; }; SOURCE(5239, 638) (void) (XR←MonitorExit(* (( (ptr) &var←c16028)+4)/* data←v6208 */ )); return; /* c2c skipped dead code */ lab←L100061: ; SOURCE(5445, 46) { W4 var←c0140; var←c0140 = (* (W4Pt) (( (ptr) &var←c16028)+6)/* var←c14460 */ ); (void) XR←RaiseError((* (( (ptr) &var←c16028)+5)/* var←c14428 */ ), (word) &var←c0140); }; } static word NoName←Q3180(formal←c0273) word formal←c0273; { register ptr gf←c0272 = (ptr) &globalframe; SOURCE(5311, 17) { word numChars←v6280; SOURCE(5330, 547) lab←L100060: ; if (((* (( (ptr) (* (ptr) formal←c0273 ))+6) ) < (* (( (ptr) (* (ptr) formal←c0273 ))+9) ))) { } else { goto lab←L100058; }; { word new←v6324; SOURCE(5369, 27) new←v6324 = ((* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+6) ) + 1); SOURCE(5398, 93) if ((0 != (* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+8) )) || (0 != (* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+7) ))) { SOURCE(5445, 46) (* (( (ptr) formal←c0273)+5) ) = (* (( (ptr) (* (( (ptr) gf←c0272)+44)/* var←c13084 */ ))+5) ); { word tmpAddr57; tmpAddr57 = (word) (( (ptr) formal←c0273)+6); (* (ptr) tmpAddr57 ) = 2; (* (( (ptr) tmpAddr57) + 1) ) = (* (( (ptr) (* (ptr) formal←c0273 ))+4) ); (* (( (ptr) tmpAddr57) + 2) ) = 0; (* (( (ptr) tmpAddr57) + 3) ) = 0; }; (void) (XR←MonitorExit(* (( (ptr) formal←c0273)+4) )); return(8); }; SOURCE(5493, 40) if ((new←v6324 == (* (hPt) (* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+4) ) ))) { SOURCE(5526, 7) new←v6324 = 0; }; SOURCE(5535, 48) if ((new←v6324 == (* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+5) ))) { SOURCE(5563, 20) (void) (XR←Wait((* (( (ptr) formal←c0273)+4) ), (word) (( (bPt) (* (( (ptr) formal←c0273)+4) ))+36))); SOURCE(5585, 4) goto lab←L100060; }; SOURCE(5592, 116) { word x58; word tc59; word idx60; word x61; if ((new←v6324 > (* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+5) ))) { tc59 = (word) ((* (hPt) (* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+4) ) ) - new←v6324); } else { tc59 = (word) ((* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+5) ) - new←v6324); }; numChars←v6280 = (x58 = ((* (( (ptr) (* (ptr) formal←c0273 ))+9) ) - (* (( (ptr) (* (ptr) formal←c0273 ))+6) )), x61 = ( idx60 = (word) tc59, SGNCK(idx60) ), MIN((int)(word), x58, x61)); }; SOURCE(5710, 100) { register word i←v6368; register word noName←c14492; i←v6368 = new←v6324; noName←c14492 = ((new←v6324 + numChars←v6280) - 1); if ((i←v6368 > noName←c14492)) { goto lab←L100062; }; lab←L100065: ; SOURCE(5749, 34) { word var←c14524; var←c14524 = (* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+4) ); { word limit62; word idx63; word limit64; (* ((( (bPt) var←c14524)+4)+( limit62 = (word) (* (( (hPt) var←c14524)+1) ), BCK(i←v6368, limit62) )) ) = (word) (* ((( (bPt) (* (( (ptr) (* (ptr) formal←c0273 ))+5) ))+4)+( idx63 = (* (( (ptr) (* (ptr) formal←c0273 ))+6) ), limit64 = (word) (* (( (hPt) (* (( (ptr) (* (ptr) formal←c0273 ))+5) ))+1) ), BCK(idx63, limit64) )) ); }; }; SOURCE(5785, 25) (* (( (ptr) (* (ptr) formal←c0273 ))+6) ) = ((* (( (ptr) (* (ptr) formal←c0273 ))+6) ) + 1); if ((i←v6368 >= noName←c14492)) { goto lab←L100062; }; i←v6368 = (i←v6368 + 1); goto lab←L100065; lab←L100062: ; }; SOURCE(5821, 29) { word idx65; (* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+6) ) = ( idx65 = (word) ((new←v6324 + numChars←v6280) - 1), SGNCK(idx65) ); }; SOURCE(5852, 25) (void) (XR←Broadcast((word) (( (bPt) (* (( (ptr) formal←c0273)+4) ))+36))); }; goto lab←L100060; lab←L100058: ; }; return(0); } static void PushUnsafePutBlock←P600(formal←c0361, formal←c0362) word formal←c0361; W3 formal←c0362; { W12 var←c16092; /* declaration of self←v4536 skipped */ /* declaration of block←v4564 skipped */ register ptr gf←c16124 = (ptr) &globalframe; /* declaration of var←c14556 skipped */ /* declaration of startIndex←v6412 skipped */ /* declaration of stopIndexPlusOne←v6468 skipped */ (* (( (ptr) &var←c16092)+4)/* self←v4536 */ ) = formal←c0361; (* (W3Pt) (( (ptr) &var←c16092)+5)/* block←v4564 */ ) = formal←c0362; /* PushUnsafePutBlock: */ SOURCE(6118, 986) { word tmpAddr66; tmpAddr66 = (word) (( (ptr) &var←c16092)+8)/* var←c14556 */ ; (* (ptr) tmpAddr66 ) = ( ((word) (fPt) innerPutBlock←P2076) ); (* (( (ptr) tmpAddr66) + 1) ) = 1; }; SOURCE(6185, 34) { word idx67; (* (( (ptr) &var←c16092)+10)/* startIndex←v6412 */ ) = ( idx67 = (* (( (ptr) &var←c16092)+6) ), SGNCK(idx67) ); }; SOURCE(6933, 55) { word b←v12508; { word idx68; b←v12508 = ( idx68 = (* (( (ptr) &var←c16092)+7) ), SGNCK(idx68) ); }; SOURCE(1617, 47) { word x69; (* (( (ptr) &var←c16092)+11)/* stopIndexPlusOne←v6468 */ ) = (x69 = ((* (( (ptr) &var←c16092)+10)/* startIndex←v6412 */ ) + b←v12508), MIN( (unsigned) , x69, 2147483647)); }; }; SOURCE(6990, 114) { word var←c14620; var←c14620 = (* (( (ptr) (* (( (ptr) &var←c16092)+4)/* self←v4536 */ ))+1) ); if ((var←c14620 == 0)) { goto lab←L100068; }; if (((* (( (ptr) gf←c16124)+10) ) == XR←GetReferentType(var←c14620))) { { word data←v6572; data←v6572 = var←c14620; SOURCE(7043, 19) (void) innerPutBlock←P2076(data←v6572, (word) (( (bPt) &var←c16092)+32)/* var←c14556 */ ); }; } else { lab←L100068: ; SOURCE(7075, 29) { W4 var←c0154; (* (ptr) (word) &var←c0154 ) = 3; (* (( (ptr) (word) &var←c0154) + 1) ) = (* (( (ptr) &var←c16092)+4)/* self←v4536 */ ); (* (( (ptr) (word) &var←c0154) + 2) ) = 0; (* (( (ptr) (word) &var←c0154) + 3) ) = 0; (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c16124)+44)/* var←c13084 */ ))+5) ), (word) &var←c0154); }; }; }; } static void innerPutBlock←P2076(formal←c0363, formal←c16188) word formal←c0363; word formal←c16188; { W10 var←c16156; /* declaration of data←v6544 skipped */ /* declaration of var←c14652 skipped */ /* declaration of var←c14684 skipped */ formal←c16188 = (formal←c16188 - 32); (* (( (ptr) &var←c16156)+4)/* data←v6544 */ ) = formal←c0363; (* (ptr) &var←c16156 ) = formal←c16188; /* innerPutBlock: */ SOURCE(6221, 698) (void) (XR←MonitorEntry(* (( (ptr) &var←c16156)+4)/* data←v6544 */ )); SOURCE(6278, 641) { word var←c07; { word var←c0295; var←c0295 = (word) &var←c16156; var←c07 = (word) XR←Enable(( ((word) (fPt) NoName←Q3240) ), ( ((word) (fPt) NoName←Q3540) ), var←c0295); }; if ((var←c07 == 9)) { goto lab←L100074; }; }; SOURCE(6221, 698) (void) (XR←MonitorExit(* (( (ptr) &var←c16156)+4)/* data←v6544 */ )); return; /* c2c skipped dead code */ lab←L100074: ; SOURCE(6515, 46) { W4 var←c0158; var←c0158 = (* (W4Pt) (( (ptr) &var←c16156)+6)/* var←c14684 */ ); (void) XR←RaiseError((* (( (ptr) &var←c16156)+5)/* var←c14652 */ ), (word) &var←c0158); }; } static word NoName←Q3240(formal←c0277) word formal←c0277; { register ptr gf←c0276 = (ptr) &globalframe; SOURCE(6301, 17) { word numChars←v6616; word bufferBase←v6644; SOURCE(6320, 78) bufferBase←v6644 = ((* (( (ptr) (* (( (ptr) formal←c0277)+4) ))+4) ) + 4); SOURCE(6400, 519) lab←L100073: ; if (((* (( (ptr) (* (ptr) formal←c0277 ))+10) ) < (* (( (ptr) (* (ptr) formal←c0277 ))+11) ))) { } else { goto lab←L100071; }; { word new←v6712; SOURCE(6439, 27) new←v6712 = ((* (( (ptr) (* (( (ptr) formal←c0277)+4) ))+6) ) + 1); SOURCE(6468, 93) if ((0 != (* (( (ptr) (* (( (ptr) formal←c0277)+4) ))+8) )) || (0 != (* (( (ptr) (* (( (ptr) formal←c0277)+4) ))+7) ))) { SOURCE(6515, 46) (* (( (ptr) formal←c0277)+5) ) = (* (( (ptr) (* (( (ptr) gf←c0276)+44)/* var←c13084 */ ))+5) ); { word tmpAddr70; tmpAddr70 = (word) (( (ptr) formal←c0277)+6); (* (ptr) tmpAddr70 ) = 2; (* (( (ptr) tmpAddr70) + 1) ) = (* (( (ptr) (* (ptr) formal←c0277 ))+4) ); (* (( (ptr) tmpAddr70) + 2) ) = 0; (* (( (ptr) tmpAddr70) + 3) ) = 0; }; (void) (XR←MonitorExit(* (( (ptr) formal←c0277)+4) )); return(9); }; SOURCE(6563, 40) if ((new←v6712 == (* (hPt) (* (( (ptr) (* (( (ptr) formal←c0277)+4) ))+4) ) ))) { SOURCE(6596, 7) new←v6712 = 0; }; SOURCE(6605, 48) if ((new←v6712 == (* (( (ptr) (* (( (ptr) formal←c0277)+4) ))+5) ))) { SOURCE(6633, 20) (void) (XR←Wait((* (( (ptr) formal←c0277)+4) ), (word) (( (bPt) (* (( (ptr) formal←c0277)+4) ))+36))); SOURCE(6655, 4) goto lab←L100073; }; SOURCE(6662, 165) { W3 var←c14716; W3 var←c14748; var←c14716.f0 = bufferBase←v6644; var←c14716.f1 = new←v6712; if ((new←v6712 > (* (( (ptr) (* (( (ptr) formal←c0277)+4) ))+5) ))) { var←c14716.f2 = (* (hPt) (* (( (ptr) (* (( (ptr) formal←c0277)+4) ))+4) ) ); } else { var←c14716.f2 = (* (( (ptr) (* (( (ptr) formal←c0277)+4) ))+5) ); }; var←c14748.f0 = (* (( (ptr) (* (ptr) formal←c0277 ))+5) ); var←c14748.f1 = (* (( (ptr) (* (ptr) formal←c0277 ))+10) ); var←c14748.f2 = (* (( (ptr) (* (ptr) formal←c0277 ))+11) ); { word idx71; numChars←v6616 = ( idx71 = (word) Basics←ByteBlt(var←c14716, var←c14748), SGNCK(idx71) ); }; }; SOURCE(6829, 29) { word idx72; (* (( (ptr) (* (( (ptr) formal←c0277)+4) ))+6) ) = ( idx72 = (word) ((new←v6712 + numChars←v6616) - 1), SGNCK(idx72) ); }; SOURCE(6860, 32) { word idx73; (* (( (ptr) (* (ptr) formal←c0277 ))+10) ) = ( idx73 = (word) ((* (( (ptr) (* (ptr) formal←c0277 ))+10) ) + numChars←v6616), SGNCK(idx73) ); }; SOURCE(6894, 25) (void) (XR←Broadcast((word) (( (bPt) (* (( (ptr) formal←c0277)+4) ))+36))); }; goto lab←L100073; lab←L100071: ; }; return(0); } static void PushFlush←P660(formal←c0364) word formal←c0364; { W7 var←c16220; /* declaration of self←v4624 skipped */ register ptr gf←c16252 = (ptr) &globalframe; /* declaration of var←c14780 skipped */ var←c16220.f4/* self←v4624 */ = formal←c0364; /* PushFlush: */ SOURCE(7111, 360) { word tmpAddr74; tmpAddr74 = (word) (( (ptr) &var←c16220)+5)/* var←c14780 */ ; (* (ptr) tmpAddr74 ) = ( ((word) (fPt) innerFlush←P2280) ); (* (( (ptr) tmpAddr74) + 1) ) = 1; }; SOURCE(7360, 111) { word var←c14812; var←c14812 = (* (( (ptr) var←c16220.f4/* self←v4624 */ )+1) ); if ((var←c14812 == 0)) { goto lab←L100076; }; if (((* (( (ptr) gf←c16252)+10) ) == XR←GetReferentType(var←c14812))) { { word data←v6860; data←v6860 = var←c14812; SOURCE(7413, 16) (void) innerFlush←P2280(data←v6860, (word) (( (bPt) &var←c16220)+20)/* var←c14780 */ ); }; } else { lab←L100076: ; SOURCE(7442, 29) { W4 var←c0168; (* (ptr) (word) &var←c0168 ) = 3; (* (( (ptr) (word) &var←c0168) + 1) ) = var←c16220.f4/* self←v4624 */ ; (* (( (ptr) (word) &var←c0168) + 2) ) = 0; (* (( (ptr) (word) &var←c0168) + 3) ) = 0; (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c16252)+44)/* var←c13084 */ ))+5) ), (word) &var←c0168); }; }; }; } static void innerFlush←P2280(formal←c0365, formal←c16316) word formal←c0365; word formal←c16316; { W10 var←c16284; /* declaration of data←v6832 skipped */ /* declaration of var←c14844 skipped */ /* declaration of var←c14876 skipped */ formal←c16316 = (formal←c16316 - 20); (* (( (ptr) &var←c16284)+4)/* data←v6832 */ ) = formal←c0365; (* (ptr) &var←c16284 ) = formal←c16316; /* innerFlush: */ SOURCE(7146, 200) (void) (XR←MonitorEntry(* (( (ptr) &var←c16284)+4)/* data←v6832 */ )); SOURCE(7192, 154) { word var←c08; { word var←c0296; var←c0296 = (word) &var←c16284; var←c08 = (word) XR←Enable(( ((word) (fPt) NoName←Q3300) ), ( ((word) (fPt) NoName←Q3480) ), var←c0296); }; if ((var←c08 == 10)) { goto lab←L100082; }; }; SOURCE(7146, 200) (void) (XR←MonitorExit(* (( (ptr) &var←c16284)+4)/* data←v6832 */ )); return; /* c2c skipped dead code */ lab←L100082: ; SOURCE(7278, 46) { W4 var←c0172; var←c0172 = (* (W4Pt) (( (ptr) &var←c16284)+6)/* var←c14876 */ ); (void) XR←RaiseError((* (( (ptr) &var←c16284)+5)/* var←c14844 */ ), (word) &var←c0172); }; } static word NoName←Q3300(formal←c0281) word formal←c0281; { register ptr gf←c0280 = (ptr) &globalframe; SOURCE(7215, 131) lab←L100081: ; if (((* (( (ptr) (* (( (ptr) formal←c0281)+4) ))+6) ) != (* (( (ptr) (* (( (ptr) formal←c0281)+4) ))+5) ))) { } else { goto lab←L100079; }; SOURCE(7252, 72) if ((0 != (* (( (ptr) (* (( (ptr) formal←c0281)+4) ))+7) ))) { SOURCE(7278, 46) (* (( (ptr) formal←c0281)+5) ) = (* (( (ptr) (* (( (ptr) gf←c0280)+44)/* var←c13084 */ ))+5) ); { word tmpAddr75; tmpAddr75 = (word) (( (ptr) formal←c0281)+6); (* (ptr) tmpAddr75 ) = 2; (* (( (ptr) tmpAddr75) + 1) ) = (* (( (ptr) (* (ptr) formal←c0281 ))+4) ); (* (( (ptr) tmpAddr75) + 2) ) = 0; (* (( (ptr) tmpAddr75) + 3) ) = 0; }; (void) (XR←MonitorExit(* (( (ptr) formal←c0281)+4) )); return(10); }; SOURCE(7326, 20) (void) (XR←Wait((* (( (ptr) formal←c0281)+4) ), (word) (( (bPt) (* (( (ptr) formal←c0281)+4) ))+36))); goto lab←L100081; lab←L100079: ; return(0); } static void PushReset←P720(self←v4684) word self←v4684; { register ptr gf←c16348 = (ptr) &globalframe; /* PushReset: */ SOURCE(7477, 262) SOURCE(7628, 111) { word var←c14908; var←c14908 = (* (( (ptr) self←v4684)+1) ); if ((var←c14908 == 0)) { goto lab←L100084; }; if (((* (( (ptr) gf←c16348)+10) ) == XR←GetReferentType(var←c14908))) { { word data←v7008; data←v7008 = var←c14908; SOURCE(7681, 16) { word data←v12556; data←v12556 = data←v7008; SOURCE(7681, 16) (void) (XR←MonitorEntry(data←v12556)); SOURCE(7565, 31) (* (( (ptr) data←v12556)+5) ) = 0; (* (( (ptr) data←v12556)+6) ) = 0; SOURCE(7598, 25) (void) (XR←Broadcast((word) (( (bPt) data←v12556)+36))); (void) (XR←MonitorExit(data←v12556)); }; }; } else { lab←L100084: ; SOURCE(7710, 29) { W4 var←c0177; (* (ptr) (word) &var←c0177 ) = 3; (* (( (ptr) (word) &var←c0177) + 1) ) = self←v4684; (* (( (ptr) (word) &var←c0177) + 2) ) = 0; (* (( (ptr) (word) &var←c0177) + 3) ) = 0; (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c16348)+44)/* var←c13084 */ ))+5) ), (word) &var←c0177); }; }; }; } static void PushClose←P780(formal←c0366, formal←c0367) word formal←c0366; word formal←c0367; { W8 var←c16380; /* declaration of self←v4744 skipped */ /* declaration of abort←v4772 skipped */ register ptr gf←c16412 = (ptr) &globalframe; /* declaration of var←c14940 skipped */ var←c16380.f4/* self←v4744 */ = formal←c0366; var←c16380.f5/* abort←v4772 */ = formal←c0367; /* PushClose: */ SOURCE(7745, 542) { word tmpAddr76; tmpAddr76 = (word) (( (ptr) &var←c16380)+6)/* var←c14940 */ ; (* (ptr) tmpAddr76 ) = ( ((word) (fPt) innerClose←P2496) ); (* (( (ptr) tmpAddr76) + 1) ) = 1; }; SOURCE(8176, 111) { word var←c14972; var←c14972 = (* (( (ptr) var←c16380.f4/* self←v4744 */ )+1) ); if ((var←c14972 == 0)) { goto lab←L100086; }; if (((* (( (ptr) gf←c16412)+10) ) == XR←GetReferentType(var←c14972))) { { word data←v7156; data←v7156 = var←c14972; SOURCE(8229, 16) (void) innerClose←P2496(data←v7156, (word) (( (bPt) &var←c16380)+24)/* var←c14940 */ ); }; } else { lab←L100086: ; SOURCE(8258, 29) { W4 var←c0183; (* (ptr) (word) &var←c0183 ) = 3; (* (( (ptr) (word) &var←c0183) + 1) ) = var←c16380.f4/* self←v4744 */ ; (* (( (ptr) (word) &var←c0183) + 2) ) = 0; (* (( (ptr) (word) &var←c0183) + 3) ) = 0; (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c16412)+44)/* var←c13084 */ ))+5) ), (word) &var←c0183); }; }; }; } static void innerClose←P2496(formal←c0368, formal←c16476) word formal←c0368; word formal←c16476; { W10 var←c16444; /* declaration of data←v7128 skipped */ /* declaration of var←c15004 skipped */ /* declaration of var←c15036 skipped */ formal←c16476 = (formal←c16476 - 24); (* (( (ptr) &var←c16444)+4)/* data←v7128 */ ) = formal←c0368; (* (ptr) &var←c16444 ) = formal←c16476; /* innerClose: */ SOURCE(7801, 367) (void) (XR←MonitorEntry(* (( (ptr) &var←c16444)+4)/* data←v7128 */ )); SOURCE(7847, 321) { word var←c09; { word var←c0297; var←c0297 = (word) &var←c16444; var←c09 = (word) XR←Enable(( ((word) (fPt) NoName←Q3360) ), ( ((word) (fPt) NoName←Q3420) ), var←c0297); }; if ((var←c09 == 11)) { goto lab←L100092; }; }; SOURCE(7801, 367) (void) (XR←MonitorExit(* (( (ptr) &var←c16444)+4)/* data←v7128 */ )); return; /* c2c skipped dead code */ lab←L100092: ; SOURCE(8069, 46) { W4 var←c0187; var←c0187 = (* (W4Pt) (( (ptr) &var←c16444)+6)/* var←c15036 */ ); (void) XR←RaiseError((* (( (ptr) &var←c16444)+5)/* var←c15004 */ ), (word) &var←c0187); }; } static word NoName←Q3360(formal←c0286) word formal←c0286; { register ptr gf←c0285 = (ptr) &globalframe; SOURCE(7870, 298) if ((0 == (* (( (ptr) (* (( (ptr) formal←c0286)+4) ))+8) ))) { SOURCE(7902, 98) if ((0 == (* (( (ptr) (* (ptr) formal←c0286 ))+5) ))) { SOURCE(7917, 83) lab←L100091: ; if ( ( ((* (( (ptr) (* (( (ptr) formal←c0286)+4) ))+6) ) != (* (( (ptr) (* (( (ptr) formal←c0286)+4) ))+5) )) ? (0 == (* ( ( (ptr) (* (( (ptr) formal←c0286)+4) ))+7) )) : 0 ) ) { } else { goto lab←L100089; }; SOURCE(7980, 20) (void) (XR←Wait((* (( (ptr) formal←c0286)+4) ), (word) (( (bPt) (* (( (ptr) formal←c0286)+4) ))+36))); goto lab←L100091; lab←L100089: ; }; SOURCE(8011, 104) if ( ( (0 != (* (( (ptr) (* (( (ptr) formal←c0286)+4) ))+7) )) ? ((* (( (ptr) (* (( (ptr) formal←c0286)+4) ))+6) ) != (* ( ( (ptr) (* (( (ptr) formal←c0286)+4) ))+5) )) : 0 ) ) { SOURCE(8069, 46) (* (( (ptr) formal←c0286)+5) ) = (* (( (ptr) (* (( (ptr) gf←c0285)+44)/* var←c13084 */ ))+5) ); { word tmpAddr77; tmpAddr77 = (word) (( (ptr) formal←c0286)+6); (* (ptr) tmpAddr77 ) = 2; (* (( (ptr) tmpAddr77) + 1) ) = (* (( (ptr) (* (ptr) formal←c0286 ))+4) ); (* (( (ptr) tmpAddr77) + 2) ) = 0; (* (( (ptr) tmpAddr77) + 3) ) = 0; }; (void) (XR←MonitorExit(* (( (ptr) formal←c0286)+4) )); return(11); }; SOURCE(8117, 24) (* (( (ptr) (* (( (ptr) formal←c0286)+4) ))+8) ) = 1; SOURCE(8143, 25) (void) (XR←Broadcast((word) (( (bPt) (* (( (ptr) formal←c0286)+4) ))+36))); }; return(0); } static void NoName←Q3420(formal←c0192, formal←c200040, formal←c200041, formal←c200042, formal←c200043) word formal←c0192; word formal←c200040; word formal←c200041; word formal←c200042; word formal←c200043; { if ((formal←c200041 == XR←Unwind)) { (void) (XR←MonitorExit(* (( (ptr) formal←c200040)+4) )); }; (* (ptr) formal←c0192 ) = 0; (* (( (ptr) formal←c0192)+1) ) = 0; return; } static void NoName←Q3480(formal←c0197, formal←c200036, formal←c200037, formal←c200038, formal←c200039) word formal←c0197; word formal←c200036; word formal←c200037; word formal←c200038; word formal←c200039; { if ((formal←c200037 == XR←Unwind)) { (void) (XR←MonitorExit(* (( (ptr) formal←c200036)+4) )); }; (* (ptr) formal←c0197 ) = 0; (* (( (ptr) formal←c0197)+1) ) = 0; return; } static void NoName←Q3540(formal←c0202, formal←c200032, formal←c200033, formal←c200034, formal←c200035) word formal←c0202; word formal←c200032; word formal←c200033; word formal←c200034; word formal←c200035; { if ((formal←c200033 == XR←Unwind)) { (void) (XR←MonitorExit(* (( (ptr) formal←c200032)+4) )); }; (* (ptr) formal←c0202 ) = 0; (* (( (ptr) formal←c0202)+1) ) = 0; return; } static void NoName←Q3600(formal←c0207, formal←c200028, formal←c200029, formal←c200030, formal←c200031) word formal←c0207; word formal←c200028; word formal←c200029; word formal←c200030; word formal←c200031; { if ((formal←c200029 == XR←Unwind)) { (void) (XR←MonitorExit(* (( (ptr) formal←c200028)+4) )); }; (* (ptr) formal←c0207 ) = 0; (* (( (ptr) formal←c0207)+1) ) = 0; return; } static void NoName←Q3660(formal←c0212, formal←c200024, formal←c200025, formal←c200026, formal←c200027) word formal←c0212; word formal←c200024; word formal←c200025; word formal←c200026; word formal←c200027; { if ((formal←c200025 == XR←Unwind)) { (void) (XR←MonitorExit(* (( (ptr) formal←c200024)+4) )); }; (* (ptr) formal←c0212 ) = 0; (* (( (ptr) formal←c0212)+1) ) = 0; return; } static void NoName←Q3720(formal←c0217, formal←c200020, formal←c200021, formal←c200022, formal←c200023) word formal←c0217; word formal←c200020; word formal←c200021; word formal←c200022; word formal←c200023; { if ((formal←c200021 == XR←Unwind)) { (void) (XR←MonitorExit(* (( (ptr) formal←c200020)+4) )); }; (* (ptr) formal←c0217 ) = 0; (* (( (ptr) formal←c0217)+1) ) = 0; return; } static void NoName←Q3780(formal←c0222, formal←c200016, formal←c200017, formal←c200018, formal←c200019) word formal←c0222; word formal←c200016; word formal←c200017; word formal←c200018; word formal←c200019; { if ((formal←c200017 == XR←Unwind)) { (void) (XR←MonitorExit(* (( (ptr) formal←c200016)+4) )); }; (* (ptr) formal←c0222 ) = 0; (* (( (ptr) formal←c0222)+1) ) = 0; return; } static void NoName←Q3840(formal←c0227, formal←c200012, formal←c200013, formal←c200014, formal←c200015) word formal←c0227; word formal←c200012; word formal←c200013; word formal←c200014; word formal←c200015; { if ((formal←c200013 == XR←Unwind)) { (void) (XR←MonitorExit(* (( (ptr) formal←c200012)+4) )); }; (* (ptr) formal←c0227 ) = 0; (* (( (ptr) formal←c0227)+1) ) = 0; return; } static void NoName←Q3900(formal←c0232, formal←c200008, formal←c200009, formal←c200010, formal←c200011) word formal←c0232; word formal←c200008; word formal←c200009; word formal←c200010; word formal←c200011; { if ((formal←c200009 == XR←Unwind)) { (void) (XR←MonitorExit(* (( (ptr) formal←c200008)+4) )); }; (* (ptr) formal←c0232 ) = 0; (* (( (ptr) formal←c0232)+1) ) = 0; return; } static void NoName←Q3960(formal←c0237, formal←c200004, formal←c200005, formal←c200006, formal←c200007) word formal←c0237; word formal←c200004; word formal←c200005; word formal←c200006; word formal←c200007; { if ((formal←c200005 == XR←Unwind)) { (void) (XR←MonitorExit(* (( (ptr) formal←c200004)+4) )); }; (* (ptr) formal←c0237 ) = 0; (* (( (ptr) formal←c0237)+1) ) = 0; return; } static void NoName←Q4020(formal←c0242, formal←c200000, formal←c200001, formal←c200002, formal←c200003) word formal←c0242; word formal←c200000; word formal←c200001; word formal←c200002; word formal←c200003; { if ((formal←c200001 == XR←Unwind)) { }; (* (ptr) formal←c0242 ) = 0; (* (( (ptr) formal←c0242)+1) ) = 0; return; } /* file: IOPipeImpl, module: IOPipeImpl, compiled at: February 21, 1992 9:35:59 pm PST */ extern void XR←install←IOPipeImpl() { NoName←Q2700(); } extern void XR←run←IOPipeImpl() { XR←Start(&globalframe); }