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