/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */ /* time: February 21, 1992 7:40:16 pm PST */ /* C2C version: October 16, 1990 (native) */ /* ref-counting: off */ /* file: UnixTrapToMesaErrorImpl, module: UnixTrapToMesaErrorImpl */ /* switches: bcfhklnouw */ #include #include static char versionStamp[] = "@(#)mob_version [1569650615,4096767984] UnixTrapToMesaErrorImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef word (*fPt)(); typedef struct {word f0, f1;} W2; typedef W2 *W2Pt; #define SOURCE(p, l) /* source p, l */ static void NoName_Q300(); static void UnixTrapToMesaErrorImpl_P0(); static void UnixHandler_P60(); static void NotifyStackOverflow_P120(); static void RipVanWinkle_P180(); static void DecodeTrap_P240(); static word NoName_Q360(); static struct {unsigned f; char r[44];} string1 = {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[4];} string2 = {65537, "\001\000\000"}; static struct {unsigned f; char r[48];} string3 = {3014704, "Thread stack overflow occurred in some thread.\000"}; static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\135\216\367\267\300\364\057\267\360\100\164\000\000"}; static struct {unsigned f; char r[4];} string5 = {131074, "\003\013\000"}; static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\064\321\106\155\300\242\071\325\060\100\150\000\000"}; static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\240\236\274\315\300\111\163\325\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\354\241\072\167\300\017\164\046\072\100\164\000\000"}; static struct { word f0[14]; word f14; word f15; word f16; word f17; word f18; word f19; word f20; word f21; word f22; word f23[4]; } globalframe = { {0}, (word) DecodeTrap_P240, 0, (word) RipVanWinkle_P180, 0, (word) NotifyStackOverflow_P120, 0, (word) UnixHandler_P60, 0, (word) UnixTrapToMesaErrorImpl_P0, {0} }; static void NoName_Q300() { register ptr gf_c036 = (ptr) &globalframe; word var_c5736; (* (( (ptr) gf_c036)+9) ) = (word) XR_GetTypeIndex((word) &string1, 0, (word) &string2); (* (ptr) (( (bPt) gf_c036)+44) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c036)+9) ), (word) &string3); (void) XR_DeclareGlobalFrame((word) "UnixTrapToMesaErrorImpl", &globalframe, (word) XR_GetTypeIndex((word) &string4, 0, (word) &string5) , (word) (( (bPt) gf_c036)+88)/* var_c5448 */ ); var_c5736 = (word) XR_ImportInterface((word) "PreDebug", (word) XR_GetTypeIndexS((word) (&string6)), 5); (* (( (ptr) gf_c036)+24)/* var_c5480 */ ) = var_c5736; (void) XR_ImportProcS(var_c5736, 786691); var_c5736 = (word) XR_ImportInterface((word) "Process", (word) XR_GetTypeIndexS((word) (&string7)), 22); (* (( (ptr) gf_c036)+25)/* var_c5608 */ ) = var_c5736; (void) XR_ImportProcS(var_c5736, 134219776); (void) XR_ImportProcS(var_c5736, 526081); var_c5736 = (word) XR_ImportInterface((word) "VM", (word) XR_GetTypeIndexS((word) (&string8)), 19); (* (( (ptr) gf_c036)+26)/* var_c5704 */ ) = var_c5736; } static void UnixTrapToMesaErrorImpl_P0(formal_c015, formal_c014) word formal_c015; word formal_c014; { register ptr gf_c5768 = (ptr) &globalframe; /* UnixTrapToMesaErrorImpl: */ SOURCE(59, 1645) SOURCE(1533, 59) SOURCE(1535, 57) (void) XR_RegisterHandler((* (ptr) ((( (bPt) gf_c5768)+80)/* var_c5416 */ ) )); SOURCE(1595, 109) { word pd9; pd9 = (* (( (ptr) (* (( (ptr) gf_c5768)+24)/* var_c5480 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd9 ))))((word) (( (bPt) gf_c5768)+52), 0, (* (( (ptr) gf_c5768)+11) ), pd9); }; } static void UnixHandler_P60(handlee_v3476, which_v3504, arg_v3532) word handlee_v3476; word which_v3504; word arg_v3532; { register ptr gf_c5800 = (ptr) &globalframe; /* UnixHandler: */ SOURCE(652, 285) SOURCE(729, 208) { word var_c5512; var_c5512 = which_v3504; switch (var_c5512) { case 2: case 3: SOURCE(784, 25) (void) DecodeTrap_P240(arg_v3532); break; case 1023: SOURCE(850, 87) SOURCE(853, 64) { W2 var_c5544; { W2 var_c5576; { word pd10; pd10 = (* (( (ptr) (* (( (ptr) gf_c5800)+25)/* var_c5608 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd10 ))))((word) (&var_c5576), pd10); }; { W2 var_c024; word var_c023; var_c023 = XR_ExtensionAlloc(6); { word tmpAddr11; tmpAddr11 = (word) var_c023; (* (ptr) tmpAddr11 ) = ( ((word) (fPt) NoName_Q360) ); (* (( (ptr) tmpAddr11) + 1) ) = 0; (* (( (ptr) tmpAddr11) + 2) ) = (word) (( (bPt) gf_c5800)+72)/* var_c5384 */ ; (* (( (ptr) tmpAddr11) + 3) ) = 0; (* (W2Pt) (( (ptr) tmpAddr11) + 4) ) = var_c5576; }; (void) XR_Fork((word) &var_c024, var_c023); var_c5544 = var_c024; }; }; { word pd12; pd12 = (* (( (ptr) (* (( (ptr) gf_c5800)+25)/* var_c5608 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd12 ))))(var_c5544, pd12); }; }; SOURCE(920, 14) (void) RipVanWinkle_P180(); break; default: SOURCE(951, 5) (void) XR_RaiseUnnamedError(); break; }; }; } static void NotifyStackOverflow_P120(process_v3680) W2 process_v3680; { register ptr gf_c5832 = (ptr) &globalframe; /* NotifyStackOverflow: */ SOURCE(1022, 96) SOURCE(1082, 36) { W2 var_c029; var_c029 = process_v3680; (void) XR_RaiseError((word) (( (bPt) gf_c5832)+52), (word) &var_c029); }; } static void RipVanWinkle_P180() { /* RipVanWinkle: */ SOURCE(1124, 54) SOURCE(1161, 17) lab_L100002: ; SOURCE(1164, 14) (void) XR_CallDebugger(); goto lab_L100002; } static void DecodeTrap_P240(trapInfo_v3772) word trapInfo_v3772; { register ptr gf_c5864 = (ptr) &globalframe; word sig_v3812; /* DecodeTrap: */ SOURCE(1193, 326) SOURCE(1254, 46) sig_v3812 = (* (ptr) trapInfo_v3772 ); SOURCE(1302, 217) { word var_c5640; var_c5640 = sig_v3812; if ((var_c5640 == 11)) { SOURCE(1329, 156) { word var_c5672; var_c5672 = (* (( (ptr) trapInfo_v3772)+1) ); if (( (int)var_c5672 == (int)3)) { SOURCE(1364, 36) { word var_c034; var_c034 = (* (( (ptr) trapInfo_v3772)+3) ); (void) XR_RaiseError((* (( (ptr) (* (( (ptr) gf_c5864)+26)/* var_c5704 */ ))+9) ), (word) &var_c034); }; } else { if (( (int)var_c5672 == (int)4)) { SOURCE(1410, 41) { word var_c035; var_c035 = (* (( (ptr) trapInfo_v3772)+3) ); (void) XR_RaiseError((* (( (ptr) (* (( (ptr) gf_c5864)+26)/* var_c5704 */ ))+10) ), (word) &var_c035); }; } else { SOURCE(1464, 21) (void) XR_RaiseError((word) (( (bPt) gf_c5864)+48), 0); }; }; }; } else { SOURCE(1498, 21) (void) XR_RaiseError((word) (( (bPt) gf_c5864)+48), 0); }; }; } static word NoName_Q360(formal_c025) word formal_c025; { W2 var_c027; word var_c026; /* intermediary proc for a FORK, nArgs: 2, nRets: 0 */ var_c027 = (* (W2Pt) (( (ptr) formal_c025)+4) ); var_c026 = (* (( (ptr) formal_c025)+2) ); formal_c025 = XR_ExtensionFree(formal_c025); (void) ( *( (fPt) ((* (ptr) var_c026 ))))((* (W2Pt) (&var_c027) ), var_c026); return(0); } /* file: UnixTrapToMesaErrorImpl, module: UnixTrapToMesaErrorImpl, compiled at: February 21, 1992 7:40:16 pm PST */ extern void XR_install_UnixTrapToMesaErrorImpl() { NoName_Q300(); } extern void XR_run_UnixTrapToMesaErrorImpl() { XR_Start(&globalframe); }