/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */ /* time: February 21, 1992 7:38:42 pm PST */ /* C2C version: October 16, 1990 (native) */ /* ref-counting: off */ /* file: Debugger, module: Debugger */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [3499976263,2964544699] Debugger"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef word (*fPt)(); typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7; typedef struct {word f0, f1, f2, f3, f4;} W5; #define SOURCE(p, l) /* source p, l */ static void NoName←Q1296(); static void Debugger←P0(); static void Raise←P60(); static void RegisterSignalExplainer←P120(); static void RegisterErrorExplainer←P180(); static word Ropeize←P240(); static word Explain←P300(); static word Protect←P360(); static word NoName←Q1356(); static void IJustToldTheUser←P420(); static word LastMessage←P480(); static void SystemPutRope←P540(); static word NoName←Q1416(); static void MyUncaughtHandler←P600(); static void Debug←P660(); static void ExitThread←P720(); static void RegisterInterest←P780(); static void DoProcs←P840(); static void Init←P900(); static void NoName←Q1476(); static void NoName←Q1536(); static struct {unsigned f; char r[44];} string1 = {2752556, "\260\006\005\146\151\162\163\164\257\300\320\235\146\107\300\260\263\134\273\100\244\005\004\162\145\163\164\214\257\300\320\235\146\107\300\260\263\134\273\100\244\261\000"}; static struct {unsigned f; char r[4];} string2 = {131074, "\004\014\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[44];} string5 = {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];} string6 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"}; static struct {unsigned f; char r[4];} string7 = {65537, "\001\000\000"}; static struct {unsigned f; char r[44];} string8 = {2818092, "\216\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"}; static struct {unsigned f; char r[44];} string9 = {2752556, "\260\006\005\146\151\162\163\164\257\300\320\235\146\107\300\260\263\134\273\101\174\005\004\162\145\163\164\214\257\300\320\235\146\107\300\260\263\134\273\101\174\261\000"}; static struct {unsigned f; char r[4];} string10 = {65540, "\012\000\000"}; static struct {unsigned f; char r[24];} string11 = {1376280, "\012*** Uncaught error: \000\000"}; static struct {unsigned f; char r[8];} string12 = {327688, " ... \000\000"}; static struct {unsigned f; char r[16];} string13 = {851984, "unknown error\000\000"}; static struct {unsigned f; char r[8];} string14 = {458760, "Aborted"}; static struct {unsigned f; char r[16];} string15 = {983056, "ArithmeticFault"}; static struct {unsigned f; char r[24];} string16 = {1507352, "AssignRefCompositeFault"}; static struct {unsigned f; char r[12];} string17 = {720908, "BoundsFault"}; static struct {unsigned f; char r[12];} string18 = {720908, "DivideCheck"}; static struct {unsigned f; char r[16];} string19 = {786448, "LinkageFault\000\000\000"}; static struct {unsigned f; char r[12];} string20 = {720908, "NarrowFault"}; static struct {unsigned f; char r[16];} string21 = {917520, "NarrowRefFault\000"}; static struct {unsigned f; char r[16];} string22 = {983056, "NestedProcFault"}; static struct {unsigned f; char r[12];} string23 = {524300, "NilFault\000\000\000"}; static struct {unsigned f; char r[12];} string24 = {720908, "ResumeFault"}; static struct {unsigned f; char r[12];} string25 = {655372, "StackFault\000"}; static struct {unsigned f; char r[12];} string26 = {655372, "StartFault\000"}; static struct {unsigned f; char r[12];} string27 = {524300, "Uncaught\000\000\000"}; static struct {unsigned f; char r[16];} string28 = {786448, "UnnamedError\000\000\000"}; static struct {unsigned f; char r[16];} string29 = {851984, "UnnamedSignal\000\000"}; static struct {unsigned f; char r[8];} string30 = {393224, "Unwind\000"}; static struct {unsigned f; char r[12];} string31 = {720908, "UnwindFault"}; static struct {unsigned f; char r[12];} string32 = {720908, "ZeroDivisor"}; static struct {unsigned f; char r[24];} string33 = {1376280, "UnboundProcedureFault\000\000"}; static struct {unsigned f; char r[8];} string34 = {458760, "SendMsg"}; static struct {unsigned f; char r[16];} string35 = {786448, "NILNotAnAtom\000\000\000"}; static struct {unsigned f; char r[8];} string36 = {393224, "NoRope\000"}; static struct {unsigned f; char r[20];} string37 = {1114132, "Rope.VerifyFailed\000\000"}; static struct {unsigned f; char r[16];} string38 = {983056, "VM.AddressFault"}; static struct {unsigned f; char r[24];} string39 = {1310744, "VM.WriteProtectFault\000\000\000"}; static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\320\235\146\107\300\260\263\134\273\100\164\000\000"}; static struct {unsigned f; char r[16];} string41 = {983055, "\006\004\040\001\044\001\050\001\100\124\010\000\004\036\001"}; static struct {unsigned f; char r[16];} string42 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"}; static struct {unsigned f; char r[16];} string43 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"}; static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\275\320\070\317\300\004\110\363\366\100\150\000\000"}; static struct {unsigned f; char r[16];} string45 = {851984, "\257\300\354\241\072\167\300\017\164\046\072\100\164\000\000"}; static struct {unsigned f; char r[16];} string46 = {851984, "\257\300\064\321\106\155\300\242\071\325\060\100\150\000\000"}; static struct {unsigned f; char r[16];} string47 = {851984, "\257\300\157\214\342\324\300\007\066\364\175\100\150\000\000"}; static struct {unsigned f; char r[16];} string48 = {851984, "\257\300\026\363\211\166\300\367\350\116\364\100\150\000\000"}; static struct { word f0[51]; 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; word f72; word f73; word f74; word f75; word f76; word f77; word f78; word f79; word f80; word f81; word f82[6]; } globalframe = { {0}, (word) Init←P900, 0, (word) DoProcs←P840, 0, (word) RegisterInterest←P780, 0, (word) ExitThread←P720, 0, (word) Debug←P660, 0, (word) MyUncaughtHandler←P600, 0, (word) SystemPutRope←P540, 0, (word) LastMessage←P480, 0, (word) IJustToldTheUser←P420, 0, (word) Protect←P360, 0, (word) Explain←P300, 0, (word) Ropeize←P240, 0, (word) RegisterErrorExplainer←P180, 0, (word) RegisterSignalExplainer←P120, 0, (word) Raise←P60, 0, (word) Debugger←P0, {0} }; static void NoName←Q1296() { register ptr gf←c087 = (ptr) &globalframe; word var←c14484; (* (( (ptr) gf←c087)+13) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf←c087)+15) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4); (* (( (ptr) gf←c087)+16) ) = (word) XR←GetTypeIndexS((word) (&string5)); (* (( (ptr) gf←c087)+17) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7); (* (( (ptr) gf←c087)+18) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string7); (* (( (ptr) gf←c087)+20) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string2); (* (ptr) (( (bPt) gf←c087)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+17) ), (word) &string10); (* (ptr) (( (bPt) gf←c087)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+17) ), (word) &string11); (* (ptr) (( (bPt) gf←c087)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+17) ), (word) &string12); (* (ptr) (( (bPt) gf←c087)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+17) ), (word) &string13); (* (ptr) (( (bPt) gf←c087)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string14); (* (ptr) (( (bPt) gf←c087)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string15); (* (ptr) (( (bPt) gf←c087)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string16); (* (ptr) (( (bPt) gf←c087)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string17); (* (ptr) (( (bPt) gf←c087)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string18); (* (ptr) (( (bPt) gf←c087)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string19); (* (ptr) (( (bPt) gf←c087)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string20); (* (ptr) (( (bPt) gf←c087)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string21); (* (ptr) (( (bPt) gf←c087)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string22); (* (ptr) (( (bPt) gf←c087)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string23); (* (ptr) (( (bPt) gf←c087)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string24); (* (ptr) (( (bPt) gf←c087)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string25); (* (ptr) (( (bPt) gf←c087)+148) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string26); (* (ptr) (( (bPt) gf←c087)+152) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string27); (* (ptr) (( (bPt) gf←c087)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string28); (* (ptr) (( (bPt) gf←c087)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string29); (* (ptr) (( (bPt) gf←c087)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string30); (* (ptr) (( (bPt) gf←c087)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string31); (* (ptr) (( (bPt) gf←c087)+172) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string32); (* (ptr) (( (bPt) gf←c087)+176) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string33); (* (ptr) (( (bPt) gf←c087)+180) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string34); (* (ptr) (( (bPt) gf←c087)+184) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string35); (* (ptr) (( (bPt) gf←c087)+188) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string36); (* (ptr) (( (bPt) gf←c087)+192) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string37); (* (ptr) (( (bPt) gf←c087)+196) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string38); (* (ptr) (( (bPt) gf←c087)+200) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string39); (void) XR←DeclareGlobalFrame((word) "Debugger", &globalframe, (word) XR←GetTypeIndex((word) &string40, 0, (word) &string41) , (word) (( (bPt) gf←c087)+324)/* var←c14004 */ ); var←c14484 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string42)), 16); (* (( (ptr) gf←c087)+85)/* var←c14420 */ ) = var←c14484; var←c14484 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string43)), 43); (* (( (ptr) gf←c087)+83)/* var←c14164 */ ) = var←c14484; (void) XR←ImportProcS(var←c14484, 68419845); (void) XR←ImportProcS(var←c14484, 68160516); (void) XR←ImportProcS(var←c14484, 67896323); (void) XR←ImportProcS(var←c14484, 67634434); (void) XR←ImportProcS(var←c14484, 67373569); (void) XR←ImportProcS(var←c14484, 67903235); var←c14484 = (word) XR←ImportInterface((word) "RuntimeError", (word) XR←GetTypeIndexS((word) (&string44)), 27); (* (( (ptr) gf←c087)+84)/* var←c14228 */ ) = var←c14484; (void) XR←ImportProcS(var←c14484, 67377153); var←c14484 = (word) XR←ImportInterface((word) "VM", (word) XR←GetTypeIndexS((word) (&string45)), 19); (* (( (ptr) gf←c087)+86)/* var←c14452 */ ) = var←c14484; var←c14484 = (word) XR←ExportInterface((word) "PreDebug", (word) XR←GetTypeIndexS((word) (&string46)), 5); (* (( (ptr) gf←c087)+87)/* var←c14516 */ ) = var←c14484; (void) XR←ExportProcS(var←c14484, (word) (( (bPt) gf←c087)+308)/* var←c13940 */ , 786435); (void) XR←ExportProcS(var←c14484, (word) (( (bPt) gf←c087)+300)/* var←c13908 */ , 786691); (void) XR←ExportProcS(var←c14484, (word) (( (bPt) gf←c087)+316)/* var←c13972 */ , 524802); (void) XR←ExportProcS(var←c14484, (word) (( (bPt) gf←c087)+276)/* var←c13812 */ , 67633922); (void) XR←ExportProcS(var←c14484, (word) (( (bPt) gf←c087)+284)/* var←c13844 */ , 67634178); var←c14484 = (word) XR←ExportInterface((word) "DebuggerFixup", (word) XR←GetTypeIndexS((word) (&string47)), 1); (* (( (ptr) gf←c087)+87)/* var←c14516 */ ) = var←c14484; (void) XR←ExportProcS(var←c14484, (word) (( (bPt) gf←c087)+220)/* var←c13588 */ , 786435); var←c14484 = (word) XR←ExportInterface((word) "PreDebugPrivate", (word) XR←GetTypeIndexS((word) (&string48)), 5); (* (( (ptr) gf←c087)+87)/* var←c14516 */ ) = var←c14484; (void) XR←ExportProcS(var←c14484, (word) (( (bPt) gf←c087)+268)/* var←c13780 */ , 262145); (void) XR←ExportProcS(var←c14484, (word) (( (bPt) gf←c087)+260)/* var←c13748 */ , 67109120); (void) XR←ExportProcS(var←c14484, (word) (( (bPt) gf←c087)+252)/* var←c13716 */ , 262657); (void) XR←ExportProcS(var←c14484, (word) (( (bPt) gf←c087)+236)/* var←c13652 */ , 768); (void) XR←ExportProcS(var←c14484, (word) (( (bPt) gf←c087)+228)/* var←c13620 */ , 1024); } static void Debugger←P0(formal←c032, formal←c031) word formal←c032; word formal←c031; { /* Debugger: */ SOURCE(83, 5396) SOURCE(5473, 6) (void) Init←P900(); } static void Raise←P60(signalOrError←v3528, args←v3556) word signalOrError←v3528; word args←v3556; { /* Raise: */ SOURCE(328, 99) SOURCE(390, 37) (void) XR←RaiseSignal(signalOrError←v3528, 0, args←v3556); } static void RegisterSignalExplainer←P120(signal←v3828, explain←v3856, data←v3884) word signal←v3828; word explain←v3856; word data←v3884; { register ptr gf←c14548 = (ptr) &globalframe; /* RegisterSignalExplainer: */ SOURCE(542, 160) SOURCE(643, 59) { word var←c14036; var←c14036 = XR←NewObject(16, (* (( (ptr) gf←c14548)+13) )); (* (ptr) var←c14036 ) = signal←v3828; (* (( (ptr) var←c14036)+1) ) = XR←CheckProc(explain←v3856); (* (( (ptr) var←c14036)+2) ) = data←v3884; (* (( (ptr) var←c14036)+3) ) = (* (( (ptr) gf←c14548)+8)/* registration←v2776 */ ); (* (( (ptr) gf←c14548)+8)/* registration←v2776 */ ) = var←c14036; }; } static void RegisterErrorExplainer←P180(error←v3956, explain←v3984, data←v4012) word error←v3956; word explain←v3984; word data←v4012; { /* RegisterErrorExplainer: */ SOURCE(706, 154) SOURCE(805, 55) (void) RegisterSignalExplainer←P120(error←v3956, explain←v3984, data←v4012); } static word Ropeize←P240(x←v4084) word x←v4084; { register ptr gf←c14580 = (ptr) &globalframe; word var←c4140; /* Ropeize: */ SOURCE(866, 165) SOURCE(913, 118) { word var←c14068; word var←c14100; var←c14068 = x←v4084; if ((var←c14068 == 0)) { goto lab←L100000; }; var←c14100 = XR←GetReferentType(var←c14068); { word tc49; if (((* (( (ptr) gf←c14580)+15) ) == var←c14100)) { tc49 = (word) ((*(int*)var←c14068<0) == 0); } else { tc49 = (word) 0; }; if (tc49) { { word r←v5248; r←v5248 = var←c14068; SOURCE(949, 10) return(r←v5248); }; } else { if (((* (( (ptr) gf←c14580)+16) ) == var←c14100)) { { word rt←v5292; rt←v5292 = var←c14068; SOURCE(977, 29) { word pd50; pd50 = (* (( (ptr) (* (( (ptr) gf←c14580)+83)/* var←c14164 */ ))+35) ); return((word) ( *( (fPt) ((* (ptr) pd50 ))))(rt←v5292, 0, 32767, pd50)); }; }; } else { lab←L100000: ; SOURCE(1019, 12) return(0); }; }; }; }; } static word Explain←P300(signalOrError←v4200, args←v4228) word signalOrError←v4200; word args←v4228; { register ptr gf←c14612 = (ptr) &globalframe; word var←c4284; word registerData←v5348 = 0; /* Explain: */ SOURCE(1037, 452) SOURCE(1152, 223) { register word l←v5392; l←v5392 = (* (( (ptr) gf←c14612)+8)/* registration←v2776 */ ); lab←L100004: ; if ((l←v5392 != 0)) { } else { goto lab←L100001; }; SOURCE(1212, 163) if (((* (ptr) l←v5392 ) == signalOrError←v4200)) { SOURCE(1251, 86) if (((* (( (ptr) l←v5392)+1) ) != 0)) { SOURCE(1279, 58) { word pd51; pd51 = (* (( (ptr) l←v5392)+1) ); return((word) ( *( (fPt) ((* (ptr) pd51 ))))(signalOrError←v4200, args←v4228, (* (( (ptr) l←v5392)+2) ), pd51)); }; }; SOURCE(1339, 36) registerData←v5348 = (word) Ropeize←P240((* ((( (ptr) l←v5392)+2)) )); SOURCE(1377, 5) goto lab←L100002; }; l←v5392 = (* (( (ptr) l←v5392)+3) ); goto lab←L100004; lab←L100001: ; lab←L100002: ; }; if ((registerData←v5348 != 0)) { SOURCE(1431, 21) return(registerData←v5348); } else { SOURCE(1465, 24) return((* (( (ptr) gf←c14612)+24) )); }; } static word Protect←P360(formal←c0109, formal←c0110) word formal←c0109; word formal←c0110; { W7 var←c14644; /* declaration of inner←v4344 skipped */ /* declaration of rejectP←v4372 skipped */ /* declaration of ok←v4536 skipped */ var←c14644.f4/* inner←v4344 */ = formal←c0109; var←c14644.f5/* rejectP←v4372 */ = formal←c0110; /* Protect: */ SOURCE(1494, 279) SOURCE(1494, 279) var←c14644.f6/* ok←v4536 */ = 1; SOURCE(1601, 172) SOURCE(1601, 172) { word var←c01; { word var←c0103; var←c0103 = (word) &var←c14644; var←c01 = (word) XR←Enable(( ((word) (fPt) NoName←Q1356) ), ( ((word) (fPt) NoName←Q1536) ), var←c0103); }; /* removed trivial cond node */ }; SOURCE(1494, 279) return(var←c14644.f6/* ok←v4536 */ ); } static word NoName←Q1356(formal←c091) word formal←c091; { SOURCE(1601, 172) { word pd52; pd52 = (* (( (ptr) formal←c091)+4) ); (void) ( *( (fPt) ((* (ptr) pd52 ))))(pd52); }; return(0); } static void IJustToldTheUser←P420(msg←v4596) word msg←v4596; { register ptr gf←c14676 = (ptr) &globalframe; /* IJustToldTheUser: */ SOURCE(1824, 69) SOURCE(1875, 18) (* (( (ptr) gf←c14676)+9)/* lastMessage←v2972 */ ) = msg←v4596; } static word LastMessage←P480() { register ptr gf←c14708 = (ptr) &globalframe; word var←c4656; /* LastMessage: */ SOURCE(1897, 73) SOURCE(1949, 21) return((* (( (ptr) gf←c14708)+9)/* lastMessage←v2972 */ )); } static void SystemPutRope←P540(formal←c0111) word formal←c0111; { W5 var←c14740; /* declaration of r←v4716 skipped */ register ptr gf←c14772 = (ptr) &globalframe; var←c14740.f4/* r←v4716 */ = formal←c0111; /* SystemPutRope: */ SOURCE(1973, 226) (void) (XR←MonitorEntry((word) (( (bPt) gf←c14772)+16)/* LOCK←v2692 */ )); SOURCE(2025, 174) { word var←c0104; var←c0104 = (word) &var←c14740; (void) (word) XR←Enable(( ((word) (fPt) NoName←Q1416) ), ( ((word) (fPt) NoName←Q1476) ), var←c0104); }; SOURCE(1973, 226) (void) (XR←MonitorExit((word) (( (bPt) gf←c14772)+16)/* LOCK←v2692 */ )); return; } static word NoName←Q1416(formal←c096) word formal←c096; { register ptr gf←c095 = (ptr) &globalframe; SOURCE(2048, 15) SOURCE(2129, 70) { register word i←v5668 = 0; register word noName←c14260; { word pd53; pd53 = (* (( (ptr) (* (( (ptr) gf←c095)+83)/* var←c14164 */ ))+14) ); noName←c14260 = (word) ( *( (fPt) ((* (ptr) pd53 ))))((* ((( (ptr) formal←c096)+4)) ), pd53); }; if (( (int)i←v5668 >= (int)noName←c14260)) { goto lab←L100011; }; lab←L100014: ; SOURCE(2166, 33) { word var←c14292; { word pd54; pd54 = (* (( (ptr) (* (( (ptr) gf←c095)+83)/* var←c14164 */ ))+9) ); var←c14292 = (word) ( *( (fPt) ((* (ptr) pd54 ))))((* (( (ptr) formal←c096)+4) ), i←v5668, pd54); }; (void) XR←DebugPutChar(var←c14292); }; i←v5668 = (i←v5668 + 1); if (( (int)i←v5668 < (int)noName←c14260)) { goto lab←L100014; }; lab←L100011: ; }; return(0); } static void MyUncaughtHandler←P600(msg←v6952, signal←v6980, frame←v7008) word msg←v6952; word signal←v6980; word frame←v7008; { register ptr gf←c14804 = (ptr) &globalframe; word explanation←v5712 = 0; word var←c14324; /* MyUncaughtHandler: */ SOURCE(2204, 432) SOURCE(2272, 44) explanation←v5712 = (word) Explain←P300(signal←v6980, msg←v6952); SOURCE(2318, 152) { word tc55; word pd56; word pd57; pd56 = (* (( (ptr) (* (( (ptr) gf←c14804)+83)/* var←c14164 */ ))+14) ); if (( (int)(word) ( *( (fPt) ((* (ptr) pd56 ))))(explanation←v5712, pd56) > (int)50)) { var←c14324 = (word) LastMessage←P480(); pd57 = (* (( (ptr) (* (( (ptr) gf←c14804)+83)/* var←c14164 */ ))+8) ); tc55 = (word) (0 != (word) ( *( (fPt) ((* (ptr) pd57 ))))(explanation←v5712, var←c14324, 1, pd57)); } else { tc55 = (word) 0; }; if (tc55) { SOURCE(2399, 71) { word pd58; pd58 = (* (( (ptr) (* (( (ptr) gf←c14804)+83)/* var←c14164 */ ))+16) ); explanation←v5712 = (word) ( *( (fPt) ((* (ptr) pd58 ))))(explanation←v5712, 40, 2147483647, (* (( (ptr) gf←c14804)+23) ), pd58) ; }; }; }; SOURCE(2476, 68) { word var←c14356; { word pd59; pd59 = (* (( (ptr) (* (( (ptr) gf←c14804)+83)/* var←c14164 */ ))+5) ); var←c14356 = (word) ( *( (fPt) ((* (ptr) pd59 ))))((* (( (ptr) gf←c14804)+22) ), explanation←v5712, (* (( (ptr) gf←c14804)+21) ), 0, 0, pd59); }; (void) SystemPutRope←P540(var←c14356); }; SOURCE(2546, 73) if ((signal←v6980 != (* (( (ptr) (* (( (ptr) gf←c14804)+84)/* var←c14228 */ ))+4) ))) { SOURCE(2597, 7) (void) Debug←P660(); SOURCE(2606, 13) (void) XR←RaiseError(XR←Aborted, 0); }; SOURCE(2624, 12) (void) ExitThread←P720(); } static void Debug←P660() { /* Debug: */ SOURCE(2642, 142) SOURCE(2736, 14) (void) DoProcs←P840(0); SOURCE(2752, 17) (void) XR←CallDebugger(); SOURCE(2771, 13) (void) DoProcs←P840(1); } static void ExitThread←P720() { /* ExitThread: */ SOURCE(2790, 84) SOURCE(2867, 7) (void) XR←Exit(); } static void RegisterInterest←P780(startDebugging←v4808, stopDebugging←v4836, data←v4864) word startDebugging←v4808; word stopDebugging←v4836; word data←v4864; { register ptr gf←c14836 = (ptr) &globalframe; /* RegisterInterest: */ SOURCE(2878, 178) (void) (XR←MonitorEntry((word) (( (bPt) gf←c14836)+16)/* LOCK←v2692 */ )); SOURCE(2989, 67) { word var←c14388; var←c14388 = XR←NewObject(16, (* (( (ptr) gf←c14836)+20) )); (* (ptr) var←c14388 ) = XR←CheckProc(startDebugging←v4808); (* (( (ptr) var←c14388)+1) ) = XR←CheckProc(stopDebugging←v4836); (* (( (ptr) var←c14388)+2) ) = data←v4864; (* (( (ptr) var←c14388)+3) ) = (* (( (ptr) gf←c14836)+10)/* interests←v3224 */ ); (* (( (ptr) gf←c14836)+10)/* interests←v3224 */ ) = var←c14388; }; SOURCE(2878, 178) (void) (XR←MonitorExit((word) (( (bPt) gf←c14836)+16)/* LOCK←v2692 */ )); return; } static void DoProcs←P840(action←v4936) word action←v4936; { register ptr gf←c14868 = (ptr) &globalframe; /* DoProcs: */ SOURCE(3062, 191) SOURCE(3104, 149) { register word l←v5876; l←v5876 = (* (( (ptr) gf←c14868)+10)/* interests←v3224 */ ); lab←L100018: ; if ((l←v5876 != 0)) { } else { goto lab←L100015; }; SOURCE(3165, 88) if ((action←v4936 == 0)) { SOURCE(3186, 33) { word pd60; pd60 = (* (ptr) l←v5876 ); (void) ( *( (fPt) ((* (ptr) pd60 ))))((* ((( (ptr) l←v5876)+2)) ), pd60); }; } else { SOURCE(3219, 34) { word pd61; pd61 = (* (( (ptr) l←v5876)+1) ); (void) ( *( (fPt) ((* (ptr) pd61 ))))((* ((( (ptr) l←v5876)+2)) ), pd61); }; }; l←v5876 = (* (( (ptr) l←v5876)+3) ); goto lab←L100018; lab←L100015: ; }; } static void Init←P900() { register ptr gf←c14900 = (ptr) &globalframe; /* Init: */ SOURCE(3423, 2044) SOURCE(3441, 60) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+4) ), 0, (* (( (ptr) gf←c14900)+25) )); SOURCE(3503, 77) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+5) ), 0, (* (( (ptr) gf←c14900)+26) )); SOURCE(3582, 76) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+6) ), 0, (* (( (ptr) gf←c14900)+26) )); SOURCE(3660, 92) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+7) ), 0, (* (( (ptr) gf←c14900)+27) )); SOURCE(3754, 68) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+8) ), 0, (* (( (ptr) gf←c14900)+28) )); SOURCE(3824, 68) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+9) ), 0, (* (( (ptr) gf←c14900)+29) )); SOURCE(3894, 70) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+10) ), 0, (* (( (ptr) gf←c14900)+30) )); SOURCE(3966, 68) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+11) ), 0, (* (( (ptr) gf←c14900)+31) )); SOURCE(4036, 74) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+12) ), 0, (* (( (ptr) gf←c14900)+32) )); SOURCE(4112, 76) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+13) ), 0, (* (( (ptr) gf←c14900)+33) )); SOURCE(4190, 62) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+14) ), 0, (* (( (ptr) gf←c14900)+34) )); SOURCE(4254, 68) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+15) ), 0, (* (( (ptr) gf←c14900)+35) )); SOURCE(4324, 66) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+18) ), 0, (* (( (ptr) gf←c14900)+36) )); SOURCE(4392, 66) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+19) ), 0, (* (( (ptr) gf←c14900)+37) )); SOURCE(4460, 62) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+21) ), 0, (* (( (ptr) gf←c14900)+38) )); SOURCE(4524, 70) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+23) ), 0, (* (( (ptr) gf←c14900)+39) )); SOURCE(4596, 72) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+24) ), 0, (* (( (ptr) gf←c14900)+40) )); SOURCE(4670, 58) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+25) ), 0, (* (( (ptr) gf←c14900)+41) )); SOURCE(4730, 68) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+26) ), 0, (* (( (ptr) gf←c14900)+42) )); SOURCE(4800, 68) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+27) ), 0, (* (( (ptr) gf←c14900)+43) )); SOURCE(4871, 89) (void) RegisterSignalExplainer←P120((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+20) ), 0, (* (( (ptr) gf←c14900)+44) )); SOURCE(4962, 61) (void) RegisterSignalExplainer←P120((* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+17) ), 0, (* (( (ptr) gf←c14900)+45) )); SOURCE(5026, 62) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+85)/* var←c14420 */ ))+19) ), 0, (* (( (ptr) gf←c14900)+46) )); SOURCE(5091, 50) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+83)/* var←c14164 */ ))+4) ), 0, (* (( (ptr) gf←c14900)+47) )); SOURCE(5143, 67) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+83)/* var←c14164 */ ))+45) ), 0, (* (( (ptr) gf←c14900)+48) )); SOURCE(5213, 63) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+86)/* var←c14452 */ ))+9) ), 0, (* (( (ptr) gf←c14900)+49) )); SOURCE(5278, 73) (void) RegisterErrorExplainer←P180((* (( (ptr) (* (( (ptr) gf←c14900)+86)/* var←c14452 */ ))+10) ), 0, (* (( (ptr) gf←c14900)+50) )); SOURCE(5354, 113) if (((* (( (ptr) gf←c14900)+11)/* oldUncaughtHandler←v3280 */ ) == 0)) { SOURCE(5385, 82) { word pd62; pd62 = (* (( (ptr) (* (( (ptr) gf←c14900)+84)/* var←c14228 */ ))+28) ); (* (( (ptr) gf←c14900)+11)/* oldUncaughtHandler←v3280 */ ) = XR←CheckProc((word) ( *( (fPt) ((* (ptr) pd62 ))))((word) (( ( (bPt) gf←c14900)+244)/* var←c13684 */ ), pd62)); }; }; } static void NoName←Q1476(formal←c078, formal←c200004, formal←c200005, formal←c200006, formal←c200007) word formal←c078; word formal←c200004; word formal←c200005; word formal←c200006; word formal←c200007; { register ptr gf←c0101 = (ptr) &globalframe; if ((formal←c200005 == XR←Unwind)) { (void) (XR←MonitorExit((word) (( (bPt) gf←c0101)+16)/* LOCK←v2692 */ )); }; (* (ptr) formal←c078 ) = 0; (* (( (ptr) formal←c078)+1) ) = 0; return; } static void NoName←Q1536(formal←c086, formal←c200000, formal←c200001, formal←c200002, formal←c200003) word formal←c086; word formal←c200000; word formal←c200001; word formal←c200002; word formal←c200003; { register ptr gf←c0102 = (ptr) &globalframe; if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0102)+84)/* var←c14228 */ ))+22) ))) { { word signal←v10048; word parameters←v10076; signal←v10048 = (* (ptr) formal←c200003 ); parameters←v10076 = (* (( (ptr) formal←c200003)+1) ); SOURCE(1642, 143) { word explanation←v5520 = 0; SOURCE(1668, 51) explanation←v5520 = (word) Explain←P300(signal←v10048, parameters←v10076); SOURCE(1721, 52) { word pd63; pd63 = (* (( (ptr) formal←c200000)+5) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd63 ))))(explanation←v5520, pd63))) { /* removed tail goto */ } else { SOURCE(1763, 10) (* (( (ptr) formal←c200000)+6) ) = 0; SOURCE(1775, 8) (* (ptr) formal←c086 ) = 2; (* (( (ptr) formal←c086)+1) ) = 2; return; }; }; }; }; }; (* (ptr) formal←c086 ) = 0; (* (( (ptr) formal←c086)+1) ) = 0; return; } /* file: Debugger, module: Debugger, compiled at: February 21, 1992 7:38:42 pm PST */ extern void XR←install←Debugger() { NoName←Q1296(); } extern void XR←run←Debugger() { XR←Start(&globalframe); }