/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: September 3, 1993 1:40:37 pm PDT */ /* C2C version: April 20, 1993 (sun4) */ /* ref-counting: off */ /* file: SignalsImpl, module: SignalsImpl */ /* switches: bcfhklnouw */ #include #include static char versionStamp[] = "@(#)mob_version [2861308617,621285829] SignalsImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8; typedef struct {word f0, f1, f2;} W3; typedef struct {W8 f; W3 r;} W11; typedef struct {W8 f; word r;} W9; typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7; typedef W7 *W7Pt; typedef word (*fPt)(); typedef struct {word f0, f1;} W2; typedef W2 *W2Pt; typedef struct {word f0, f1, f2, f3, f4;} W5; typedef W5 *W5Pt; #define SOURCE(p, l) /* source p, l */ #define SGNCK(i) ((int) (word) (i) < 0 ? XR_RaiseArithmeticFault(): i ) static void NoName_Q1344(); static void SignalsImpl_P0(); static void InformationalSignal_P60(); static word RegisterUncaughtSignalHandler_P120(); static void InitialUCSHandler_P180(); static word RegisterSignalSpy_P240(); static void SignalHandler_P300(); static word NoName_Q1404(); static word NoName_Q1464(); static word Parent_P360(); static word WarmestHandler_P420(); extern void XR_MesaUnwinder(); static word NoName_Q1524(); static word NoName_Q1584(); extern void XR_RaiseError(); extern void XR_RaiseSignal(); extern word XR_RaiseUnnamedError(); extern word XR_RaiseArithmeticFault(); extern word XR_RaiseBoundsFault(); extern void XR_RaiseAbstractionFault(); extern void XR_SetupPushHandler(); extern word XR_PushAllocedHandler(); extern void XR_PopHandler(); static void GetStatistics_P1080(); static void Initialize_P1140(); static void NoName_Q1644(); static void NoName_Q1704(); static void NoName_Q1764(); static void NoName_Q1824(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\252\214\032\311\300\045\010\021\305\101\210\000\000"}; static struct {unsigned f; char r[16];} string2 = {851984, "\257\300\252\214\032\311\300\045\010\021\305\101\224\000\000"}; static struct {unsigned f; char r[4];} string3 = {131074, "\003\006\000"}; static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\252\214\032\311\300\045\010\021\305\103\054\000\000"}; static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\252\214\032\311\300\045\010\021\305\101\020\000\000"}; static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\252\214\032\311\300\045\010\021\305\100\164\000\000"}; static struct {unsigned f; char r[12];} string7 = {1383427700, "imeError"}; static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\275\320\070\317\300\004\110\363\366\100\150\000\000"}; static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\152\271\236\047\300\356\300\232\317\100\150\000\000"}; static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\271\157\307\223\300\377\102\316\202\100\150\000\000"}; static struct { word f0[18]; 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; word f38; word f39; word f40; word f41; word f42; word f43; word f44; word f45; word f46; word f47; word f48; word f49; word f50; word f51; word f52; word f53; word f54; word f55; word f56; word f57[3]; } globalframe = { {0}, (word) Initialize_P1140, 0, (word) GetStatistics_P1080, 0, (word) XR_PopHandler, 0, (word) XR_PushAllocedHandler, 0, (word) XR_SetupPushHandler, 0, (word) XR_RaiseAbstractionFault, 0, (word) XR_RaiseBoundsFault, 0, (word) XR_RaiseArithmeticFault, 0, (word) XR_RaiseUnnamedError, 0, (word) XR_RaiseSignal, 0, (word) XR_RaiseError, 0, (word) XR_MesaUnwinder, 0, (word) WarmestHandler_P420, 0, (word) Parent_P360, 0, (word) SignalHandler_P300, 0, (word) RegisterSignalSpy_P240, 0, (word) InitialUCSHandler_P180, 0, (word) RegisterUncaughtSignalHandler_P120, 0, (word) InformationalSignal_P60, 0, (word) SignalsImpl_P0, {0} }; #include typedef struct {fPt p; word c;} ProcDescBody; extern word XR_Enable(body, handler, context) fPt body; fPt handler; ptr context; { word rtnCode; ptr beforeCall; ProcDescBody pdDescBody; ProcDescBody unwindDescBody; word catchSpace[7]; struct XR_JmpBufRep jmpBuf; word unwindSpace[4]; pdDescBody.p = handler; pdDescBody.c = 1; unwindDescBody.p = (fPt) XR_MesaUnwinder; unwindDescBody.c = (word) catchSpace; beforeCall = (ptr) XR_GetDynamicEnvironment(); XR_SetupPushHandler(context, &pdDescBody, catchSpace, unwindSpace, &unwindDescBody, &jmpBuf); rtnCode = XR_setjmp(&jmpBuf); if (rtnCode == 0) rtnCode = body(context); { /* INLINE version of XR_PopHandler, no stats */ ptr curr = (ptr) XR_GetDynamicEnvironment(); ptr prev = (ptr) *((ptr) *curr); if (beforeCall != prev) XR_RaiseError(0,0); XR_SetDynamicEnvironment(prev); }; return (rtnCode); } extern word XR_UnwindFrameKey; static word XR_GetUnwindFrameKey() { return( XR_UnwindFrameKey ); } typedef struct { int *unixTrapHandler; unsigned aborted; unsigned abstractionFault; unsigned arithmeticFault; unsigned assignRefCompositeFault; unsigned boundsFault; unsigned divideCheck; unsigned invalidProcess; unsigned linkageFault; unsigned narrowFault; unsigned narrowRefFault; unsigned nestedProcFault; unsigned nilFault; unsigned resumeFault; unsigned sendMsg; unsigned stackFault; unsigned startFault; unsigned unboundProcedureFault; unsigned uncaught; unsigned unnamedError; unsigned unnamedSignal; unsigned Unwind; unsigned unwindFault; unsigned zeroDivisor; } SignalEnvironmentObject; typedef SignalEnvironmentObject *SignalEnvironment; unsigned XR_UnnamedSignal; unsigned XR_UnnamedError; unsigned XR_Unwind; unsigned XR_Aborted; unsigned XR_Uncaught; unsigned XR_NarrowFault; unsigned XR_NarrowRefFault; unsigned XR_InvalidProcess; SignalEnvironment XR_SigEnv; static void XR_SetSignalEnvironment(env) SignalEnvironment env; { XR_SigEnv = env; XR_UnnamedError = env-> unnamedError; XR_UnnamedSignal = env->unnamedSignal; XR_Unwind = env->Unwind; XR_Aborted = env->aborted; XR_Uncaught = env->uncaught; XR_NarrowFault = env->narrowFault; XR_NarrowRefFault = env->narrowRefFault; XR_InvalidProcess = env->invalidProcess; } static void NoName_Q1344() { register ptr gf_c0133 = (ptr) &globalframe; word var_c15188; (* (( (ptr) gf_c0133)+12) ) = (word) XR_GetTypeIndexS((word) (&string1)); (* (( (ptr) gf_c0133)+13) ) = (word) XR_GetTypeIndex((word) &string2, 0, (word) &string3); (* (( (ptr) gf_c0133)+14) ) = (word) XR_GetTypeIndexS((word) (&string4)); (* (( (ptr) gf_c0133)+15) ) = (word) XR_GetTypeIndexS((word) (&string5)); (void) XR_DeclareGlobalFrame((word) "SignalsImpl", &globalframe, (word) XR_GetTypeIndexS((word) (&string6)), (word) (( (bPt) gf_c0133)+224) /* var_c14676 */ ); var_c15188 = (word) XR_ImportInterface((word) &string7, (word) XR_GetTypeIndexS((word) (&string8)), 27); (* (( (ptr) gf_c0133)+58)/* var_c14740 */ ) = var_c15188; var_c15188 = (word) XR_ExportInterface((word) "PortableCedarRuntimeSupport", (word) XR_GetTypeIndexS((word) (&string9)), 77) ; (* (( (ptr) gf_c0133)+59)/* var_c15220 */ ) = var_c15188; (void) XR_ExportProcS(var_c15188, (word) (( (bPt) gf_c0133)+88)/* var_c14132 */ , 9728, (word) "PopHandler"); (void) XR_ExportProcS(var_c15188, (word) (( (bPt) gf_c0133)+144)/* var_c14356 */ , 796419, (word) "RaiseSignal"); (void) XR_ExportProcS(var_c15188, (word) (( (bPt) gf_c0133)+152)/* var_c14388 */ , 534530, (word) "RaiseError"); (void) XR_ExportProcS(var_c15188, (word) (( (bPt) gf_c0133)+120)/* var_c14260 */ , 67121152, (word) "RaiseBoundsFault"); (void) XR_ExportProcS(var_c15188, (word) (( (bPt) gf_c0133)+128)/* var_c14292 */ , 67121408, (word) "RaiseArithmeticFault") ; (void) XR_ExportProcS(var_c15188, (word) (( (bPt) gf_c0133)+112)/* var_c14228 */ , 12800, (word) "RaiseAbstractionFault") ; var_c15188 = (word) XR_ExportInterface((word) &string7, (word) XR_GetTypeIndexS((word) (&string8)), 27); (* (( (ptr) gf_c0133)+59)/* var_c15220 */ ) = var_c15188; (void) XR_ExportProcS(var_c15188, (word) (( (bPt) gf_c0133)+208)/* var_c14612 */ , 67377153, (word) "RegisterUncaughtSignalHandler") ; (void) XR_ExportProcS(var_c15188, (word) (( (bPt) gf_c0133)+216)/* var_c14644 */ , 268545, (word) "InformationalSignal"); var_c15188 = (word) XR_ExportInterface((word) "SignalStatistics", (word) XR_GetTypeIndexS((word) (&string10)), 2); (* (( (ptr) gf_c0133)+59)/* var_c15220 */ ) = var_c15188; (void) XR_ExportProcS(var_c15188, (word) (( (bPt) gf_c0133)+80)/* var_c14100 */ , 335544320, (word) "GetStatistics"); (void) XR_ExportProcS(var_c15188, (word) (( (bPt) gf_c0133)+192)/* var_c14548 */ , 67371265, (word) "RegisterSignalSpy"); } static void SignalsImpl_P0(formal_c039, formal_c038) word formal_c039; word formal_c038; { register ptr gf_c15252 = (ptr) &globalframe; /* SignalsImpl: */ SOURCE(73, 15251) SOURCE(273, 52) (* (( (ptr) gf_c15252)+4)/* ucsHandler_v2524 */ ) = (word) (( (bPt) gf_c15252)+200)/* var_c14580 */ ; SOURCE(6970, 42) (* (( (ptr) gf_c15252)+6)/* UnwindFrameKey_v3168 */ ) = (word) XR_GetUnwindFrameKey(); SOURCE(15312, 12) (void) Initialize_P1140(); } static void InformationalSignal_P60(signal_v4436) word signal_v4436; { /* InformationalSignal: */ SOURCE(424, 104) SOURCE(491, 37) (void) SignalHandler_P300(signal_v4436, 0, 0, 1); } static word RegisterUncaughtSignalHandler_P120(proc_v4512) word proc_v4512; { register ptr gf_c15284 = (ptr) &globalframe; word old_v4556; /* RegisterUncaughtSignalHandler: */ SOURCE(534, 159) SOURCE(534, 159) old_v4556 = 0; SOURCE(658, 16) old_v4556 = XR_CheckProc(* (( (ptr) gf_c15284)+4)/* ucsHandler_v2524 */ ); SOURCE(676, 17) (* (( (ptr) gf_c15284)+4)/* ucsHandler_v2524 */ ) = XR_CheckProc(proc_v4512); SOURCE(534, 159) return(old_v4556); } static void InitialUCSHandler_P180(msg_v11316, signal_v11344, frame_v11372) word msg_v11316; word signal_v11344; word frame_v11372; { /* InitialUCSHandler: */ SOURCE(699, 59) SOURCE(743, 15) (void) XR_CallDebugger(5); } static word RegisterSignalSpy_P240(new_v4632) word new_v4632; { register ptr gf_c15316 = (ptr) &globalframe; word old_v4692; /* RegisterSignalSpy: */ SOURCE(939, 111) SOURCE(939, 111) old_v4692 = 0; SOURCE(1018, 15) old_v4692 = XR_CheckProc(* (( (ptr) gf_c15316)+5)/* signalSpy_v2748 */ ); SOURCE(1035, 15) (* (( (ptr) gf_c15316)+5)/* signalSpy_v2748 */ ) = XR_CheckProc(new_v4632); SOURCE(939, 111) return(old_v4692); } static void SignalHandler_P300(sig_v4768, formal_c0170, formal_c0171, formal_c0172) word sig_v4768; word formal_c0170; word formal_c0171; word formal_c0172; { W11 var_c15348; /* declaration of arg_v4796 skipped */ /* declaration of rtns_v4824 skipped */ /* declaration of informational_v4852 skipped */ register ptr gf_c15380 = (ptr) &globalframe; /* declaration of action_v9548 skipped */ /* declaration of catchProc_v9576 skipped */ word warmestHandler_v9604 = 0; W9 selfObj_v9632; /* declaration of self_v9660 skipped */ /* declaration of exitTo_v9688 skipped */ word spy_v9716; (* (( (ptr) &var_c15348)+4)/* arg_v4796 */ ) = formal_c0170; (* (( (ptr) &var_c15348)+5)/* rtns_v4824 */ ) = formal_c0171; (* (( (ptr) &var_c15348)+6)/* informational_v4852 */ ) = formal_c0172; /* SignalHandler: */ SOURCE(1056, 2020) SOURCE(1191, 23) (* (( (ptr) &var_c15348)+8)/* catchProc_v9576 */ ) = 0; SOURCE(1251, 34) XR_FillWords(&(* (W7Pt) ((( (ptr) &selfObj_v9632)+1))), 7, 0); (* (ptr) &selfObj_v9632 ) = 4278255360; (* (( (ptr) &selfObj_v9632)+8) ) = 4279369489; SOURCE(1287, 41) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ) = (word) &selfObj_v9632; SOURCE(1343, 21) spy_v9716 = (* (( (ptr) gf_c15380)+5)/* signalSpy_v2748 */ ); SOURCE(1366, 23) if ((spy_v9716 != 0)) { SOURCE(1384, 5) (void) ( *( (fPt) ((* (ptr) spy_v9716 ))))(spy_v9716); }; SOURCE(1391, 17) (* (( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+2) ) = sig_v4768; SOURCE(1418, 1658) SOURCE(1418, 1658) SOURCE(1431, 17) (* (( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+7) ) = 0; SOURCE(1450, 33) warmestHandler_v9604 = (word) WarmestHandler_P420(); SOURCE(1511, 22) (* (( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+1) ) = warmestHandler_v9604; SOURCE(1535, 23) (* (( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+4) ) = (* (( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+1) ); SOURCE(1560, 1089) lab_L100002: ; if ( ( ((* (( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+4) ) != (* (( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+5) )) ? (0 == (* (( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+7) )) : 0 ) ) { } else { goto lab_L100000; }; { word thisSignaller_v9776 = 0; SOURCE(1641, 36) (* (( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+3) ) = (* (( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+4) ); SOURCE(1679, 49) thisSignaller_v9776 = (* (( (ptr) (* (( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+3) ))+6) ); SOURCE(1730, 280) if ((thisSignaller_v9776 != 0)) { SOURCE(1760, 144) if (((* (( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+2) ) != (* (( (ptr) thisSignaller_v9776)+2) ))) { SOURCE(1802, 44) (* (( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+4) ) = (word) Parent_P360((* ((( (ptr) (* (( (ptr) &var_c15348)+9) /* self_v9660 */ ))+3)) )); } else { SOURCE(1857, 47) (* (( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+4) ) = (* (( (ptr) thisSignaller_v9776)+4) ); }; } else { SOURCE(1966, 44) (* (( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+4) ) = (word) Parent_P360((* ((( (ptr) (* (( (ptr) &var_c15348)+9) /* self_v9660 */ ))+3)) )); }; SOURCE(2016, 633) (* (( (ptr) &var_c15348)+8)/* catchProc_v9576 */ ) = (* (( (ptr) (* (( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+3) ))+4) ); if (((* (( (ptr) &var_c15348)+8)/* catchProc_v9576 */ ) != 0)) { SOURCE(2075, 574) { word var_c05; { word var_c0158; var_c0158 = (word) &var_c15348; var_c05 = (word) XR_Enable(( ((word) (fPt) NoName_Q1404) ), ( ((word) (fPt) NoName_Q1764) ), var_c0158); }; if ((var_c05 == 1)) { goto lab_L03; }; }; }; }; goto lab_L100002; lab_L100000: ; if ((0 != (* (( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+7) ))) { } else { if ((0 != (* (( (ptr) &var_c15348)+6)/* informational_v4852 */ )) || ((* (( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+2) ) == XR_Uncaught)) { } else { SOURCE(2777, 181) SOURCE(2835, 51) { W2 var_c060; (* (ptr) (word) &var_c060 ) = (* (( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+2) ); (* (( (ptr) (word) &var_c060) + 1) ) = (* (( (ptr) &var_c15348)+4)/* arg_v4796 */ ); (void) (XR_RaiseSignal(XR_Uncaught, 0, (word) &var_c060)); }; SOURCE(2896, 59) SOURCE(2897, 58) { word pd11; pd11 = (* (( (ptr) gf_c15380)+4)/* ucsHandler_v2524 */ ); (void) ( *( (fPt) ((* (ptr) pd11 ))))((* (( (ptr) &var_c15348)+4)/* arg_v4796 */ ), (* (( (ptr) (* (( (ptr) &var_c15348)+9) /* self_v9660 */ ))+2) ), 0, pd11); }; }; }; SOURCE(2962, 111) if ((0 != (* (( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+7) ))) { SOURCE(2983, 26) (void) XR_UnwindTo((* ((( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+5)) )); SOURCE(3011, 62) { word var_c14836; var_c14836 = (word) XR_GetNextHandlee(0); { word idx12; (void) XR_RestartHandlee(( XR_Thread ) var_c14836, ( XR_JmpBuf ) (* (( (ptr) (* (( (ptr) (* (( (ptr) &var_c15348)+9)/* self_v9660 */ ))+5) ))+3) ), ( unsigned ) ( idx12 = (* (( (ptr) &var_c15348)+10)/* exitTo_v9688 */ ), SGNCK(idx12) )); }; }; }; lab_L03: ; return; } static word NoName_Q1404(formal_c0138) word formal_c0138; { W8 var_c0165; var_c0165.f0 = formal_c0138; SOURCE(2245, 42) { word hotHandler_v9820; SOURCE(2245, 42) hotHandler_v9820 = (word) WarmestHandler_P420(); SOURCE(2289, 32) (* (( (ptr) hotHandler_v9820)+6) ) = (* (( (ptr) formal_c0138)+9) ); SOURCE(2323, 175) SOURCE(2323, 175) { W2 var_c14772; { /* declaration of var_c01 skipped */ /* declaration of var_c02 skipped */ var_c0165.f4/* var_c01 */ = (* (( (ptr) (* (( (ptr) (* (( (ptr) formal_c0138)+9) ))+3) ))+5) ); var_c0165.f5/* var_c02 */ = (* (( (ptr) (* (( (ptr) formal_c0138)+9) ))+2) ); { /* declaration of var_c03 skipped */ { word var_c04; { word var_c0159; var_c0159 = (word) &var_c0165; var_c04 = (word) XR_Enable(( ((word) (fPt) NoName_Q1464) ), ( ((word) (fPt) NoName_Q1824) ), var_c0159); }; if ((var_c04 == 2)) { goto lab_L100006; }; }; var_c14772 = (* (W2Pt) (( (ptr) &var_c0165)+6)/* var_c03 */ ); }; }; (* (( (ptr) formal_c0138)+10) ) = var_c14772.f1; (* (( (ptr) formal_c0138)+7) ) = var_c14772.f0; }; lab_L100006: ; SOURCE(2502, 147) { word var_c14804; var_c14804 = (* (( (ptr) formal_c0138)+7) ); switch (var_c14804) { case 0: break; case 1: SOURCE(2550, 7) return(1); case 2: SOURCE(2568, 81) if ((0 == (* (( (ptr) formal_c0138)+6) ))) { SOURCE(2593, 27) (* (( (ptr) (* (( (ptr) formal_c0138)+9) ))+5) ) = (* (( (ptr) (* (( (ptr) formal_c0138)+9) ))+3) ); SOURCE(2622, 16) (* (( (ptr) (* (( (ptr) formal_c0138)+9) ))+7) ) = 1; SOURCE(2640, 9) (* (( (ptr) formal_c0138)+4) ) = 0; }; break; }; }; }; return(0); } static word NoName_Q1464(formal_c0139) word formal_c0139; { SOURCE(2323, 175) { word pd13; pd13 = (* (( (ptr) (* (ptr) formal_c0139 ))+8) ); (void) ( *( (fPt) ((* (ptr) pd13 ))))((word) (( (bPt) formal_c0139)+24), (* (( (ptr) formal_c0139)+4) ), (* (( (ptr) formal_c0139)+5) ), (* (( (ptr) (* (ptr) formal_c0139 ))+5) ), (* (( (ptr) (* (ptr) formal_c0139 ))+4) ), pd13); }; return(0); } static word Parent_P360(catchPhrase_v4936) word catchPhrase_v4936; { word parent_v4980; word env_v10012; /* Parent: */ SOURCE(3083, 195) SOURCE(3165, 41) env_v10012 = catchPhrase_v4936; SOURCE(3208, 70) return((word) XR_LookupInDynamicEnvironment(1073807360, (* (ptr) env_v10012 ))); } static word WarmestHandler_P420() { word var_c5040; word env_v10056; /* WarmestHandler: */ SOURCE(3284, 160) SOURCE(3334, 43) env_v10056 = (word) XR_GetDynamicEnvironment(); SOURCE(3379, 65) return((word) XR_LookupInDynamicEnvironment(1073807360, env_v10056)); } extern void XR_MesaUnwinder(self_v5184) word self_v5184; { W7 var_c15412; /* declaration of cp_v10100 skipped */ /* declaration of catchProc_v10128 skipped */ /* declaration of action_v10156 skipped */ /* MesaUnwinder: */ SOURCE(3591, 673) SOURCE(3666, 34) var_c15412.f4/* cp_v10100 */ = (* (( (ptr) self_v5184)+1) ); SOURCE(3702, 23) var_c15412.f5/* catchProc_v10128 */ = 0; SOURCE(3755, 509) var_c15412.f5/* catchProc_v10128 */ = (* (( (ptr) var_c15412.f4/* cp_v10100 */ )+4) ); if ((var_c15412.f5/* catchProc_v10128 */ != 0)) { SOURCE(3804, 460) SOURCE(3806, 447) { word var_c0160; var_c0160 = (word) &var_c15412; (void) (word) XR_Enable(( ((word) (fPt) NoName_Q1524) ), ( ((word) (fPt) NoName_Q1644) ), var_c0160); }; }; } static word NoName_Q1524(formal_c0141) word formal_c0141; { W7 var_c0169; register ptr gf_c0140 = (ptr) &globalframe; var_c0169.f0 = formal_c0141; SOURCE(3980, 142) SOURCE(3980, 142) { W2 var_c14932; { /* declaration of var_c06 skipped */ var_c0169.f4/* var_c06 */ = (* (( (ptr) (* (( (ptr) formal_c0141)+4) ))+5) ); { /* declaration of var_c07 skipped */ { word var_c08; { word var_c0161; var_c0161 = (word) &var_c0169; var_c08 = (word) XR_Enable(( ((word) (fPt) NoName_Q1584) ), ( ((word) (fPt) NoName_Q1704) ), var_c0161); }; if ((var_c08 == 3)) { goto lab_L100012; }; }; var_c14932 = (* (W2Pt) (( (ptr) &var_c0169)+5)/* var_c07 */ ); }; }; (* (( (ptr) formal_c0141)+6) ) = var_c14932.f0; }; lab_L100012: ; SOURCE(4137, 116) { word var_c14964; var_c14964 = (* (( (ptr) formal_c0141)+6) ); switch (var_c14964) { case 0: break; case 1: SOURCE(4183, 30) (void) XR_RaiseError((* (( (ptr) (* (( (ptr) gf_c0140)+58)/* var_c14740 */ ))+15) ), 0); break; case 2: SOURCE(4223, 30) (void) XR_RaiseError((* (( (ptr) (* (( (ptr) gf_c0140)+58)/* var_c14740 */ ))+26) ), 0); break; }; }; return(0); } static word NoName_Q1584(formal_c0142) word formal_c0142; { SOURCE(3980, 142) { word pd14; pd14 = (* (( (ptr) (* (ptr) formal_c0142 ))+5) ); (void) ( *( (fPt) ((* (ptr) pd14 ))))((word) (( (bPt) formal_c0142)+20), (* (( (ptr) formal_c0142)+4) ), XR_Unwind, 0, 0, pd14) ; }; return(0); } extern void XR_RaiseError(which_v11432, args_v11460) word which_v11432; word args_v11460; { register ptr gf_c15444 = (ptr) &globalframe; /* RaiseError: */ SOURCE(8345, 172) SOURCE(8408, 43) (* (( (ptr) gf_c15444)+10) ) = ((* (( (ptr) gf_c15444)+10) ) + 1); SOURCE(8453, 31) (void) SignalHandler_P300(which_v11432, args_v11460, 0, 0); SOURCE(8486, 31) (void) XR_RaiseError((* (( (ptr) (* (( (ptr) gf_c15444)+58)/* var_c14740 */ ))+15) ), 0); } extern void XR_RaiseSignal(which_v11520, rtns_v11548, args_v11576) word which_v11520; word rtns_v11548; word args_v11576; { register ptr gf_c15476 = (ptr) &globalframe; /* RaiseSignal: */ SOURCE(8521, 146) SOURCE(8588, 45) (* (( (ptr) gf_c15476)+11) ) = ((* (( (ptr) gf_c15476)+11) ) + 1); SOURCE(8635, 32) (void) SignalHandler_P300(which_v11520, args_v11576, rtns_v11548, 0); } extern word XR_RaiseUnnamedError() { register ptr gf_c15508 = (ptr) &globalframe; word var_c8116; /* RaiseUnnamedError: */ SOURCE(8673, 128) SOURCE(8673, 128) var_c8116 = 0; SOURCE(8748, 53) (void) XR_RaiseError((* (( (ptr) (* (( (ptr) gf_c15508)+58)/* var_c14740 */ ))+23) ), 0); SOURCE(8673, 128) return(var_c8116); } extern word XR_RaiseArithmeticFault() { register ptr gf_c15540 = (ptr) &globalframe; word var_c8176; /* RaiseArithmeticFault: */ SOURCE(8805, 144) SOURCE(8805, 144) var_c8176 = 0; SOURCE(8893, 56) (void) XR_RaiseError((* (( (ptr) (* (( (ptr) gf_c15540)+58)/* var_c14740 */ ))+6) ), 0); SOURCE(8805, 144) return(var_c8176); } extern word XR_RaiseBoundsFault() { register ptr gf_c15572 = (ptr) &globalframe; word var_c8236; /* RaiseBoundsFault: */ SOURCE(8953, 132) SOURCE(8953, 132) var_c8236 = 0; SOURCE(9033, 52) (void) XR_RaiseError((* (( (ptr) (* (( (ptr) gf_c15572)+58)/* var_c14740 */ ))+8) ), 0); SOURCE(8953, 132) return(var_c8236); } extern void XR_RaiseAbstractionFault() { register ptr gf_c15604 = (ptr) &globalframe; /* RaiseAbstractionFault: */ SOURCE(9089, 139) SOURCE(9171, 57) (void) XR_RaiseError((* (( (ptr) (* (( (ptr) gf_c15604)+58)/* var_c14740 */ ))+5) ), 0); } extern void XR_SetupPushHandler(context_v8312, proc_v8340, catchPhrase_v8368, unwindFrame_v8396, unwinder_v8424, jmpBufPtr_v8452) word context_v8312; word proc_v8340; word catchPhrase_v8368; word unwindFrame_v8396; word unwinder_v8424; word jmpBufPtr_v8452; { register ptr gf_c15636 = (ptr) &globalframe; word prevEnv_v10200; /* SetupPushHandler: */ SOURCE(9232, 682) SOURCE(9418, 47) prevEnv_v10200 = (word) XR_GetDynamicEnvironment(); SOURCE(9467, 53) (* (ptr) catchPhrase_v8368 ) = unwindFrame_v8396; SOURCE(9522, 45) (* (( (ptr) catchPhrase_v8368)+1) ) = 1073807360; SOURCE(9569, 28) (* (( (ptr) catchPhrase_v8368)+4) ) = proc_v8340; SOURCE(9599, 34) (* (( (ptr) catchPhrase_v8368)+5) ) = context_v8312; SOURCE(9635, 32) (* (( (ptr) catchPhrase_v8368)+6) ) = 0; SOURCE(9669, 33) (* (( (ptr) catchPhrase_v8368)+3) ) = jmpBufPtr_v8452; SOURCE(9704, 26) (* (ptr) unwindFrame_v8396 ) = prevEnv_v10200; SOURCE(9732, 32) (* (( (ptr) unwindFrame_v8396)+1) ) = (* (( (ptr) gf_c15636)+6)/* UnwindFrameKey_v3168 */ ); SOURCE(9766, 31) (* (( (ptr) unwindFrame_v8396)+2) ) = unwinder_v8424; SOURCE(9799, 26) (* (( (ptr) unwindFrame_v8396)+3) ) = 0; SOURCE(9827, 44) (void) XR_SetDynamicEnvironment(catchPhrase_v8368); SOURCE(9873, 41) (* (( (ptr) gf_c15636)+8) ) = ((* (( (ptr) gf_c15636)+8) ) + 1); } extern word XR_PushAllocedHandler(context_v8552, handler_v8580, jmpBuf_v8608) word context_v8552; word handler_v8580; word jmpBuf_v8608; { register ptr gf_c15668 = (ptr) &globalframe; word var_c8676; word unwindFrame_v10244; word catchPhrase_v10272; word prevEnv_v10356; /* PushAllocedHandler: */ SOURCE(9920, 970) SOURCE(10062, 59) unwindFrame_v10244 = XR_NewObject(16, (* (( (ptr) gf_c15668)+12) )); SOURCE(10123, 59) catchPhrase_v10272 = XR_NewObject(28, (* (( (ptr) gf_c15668)+13) )); SOURCE(10296, 47) prevEnv_v10356 = (word) XR_GetDynamicEnvironment(); SOURCE(10345, 53) (* (ptr) catchPhrase_v10272 ) = unwindFrame_v10244; SOURCE(10400, 45) (* (( (ptr) catchPhrase_v10272)+1) ) = 1073807360; SOURCE(10447, 31) (* (( (ptr) catchPhrase_v10272)+4) ) = handler_v8580; SOURCE(10480, 34) (* (( (ptr) catchPhrase_v10272)+5) ) = context_v8552; SOURCE(10516, 32) (* (( (ptr) catchPhrase_v10272)+6) ) = 0; SOURCE(10550, 30) (* (( (ptr) catchPhrase_v10272)+3) ) = jmpBuf_v8608; SOURCE(10582, 26) (* (( (ptr) unwindFrame_v10244)+3) ) = 0; SOURCE(10610, 26) (* (ptr) unwindFrame_v10244 ) = prevEnv_v10356; SOURCE(10638, 32) (* (( (ptr) unwindFrame_v10244)+1) ) = (* (( (ptr) gf_c15668)+6)/* UnwindFrameKey_v3168 */ ); SOURCE(10672, 124) { word var_c15060; var_c15060 = XR_NewObject(8, (* (( (ptr) gf_c15668)+14) )); (* (ptr) var_c15060 ) = (* (ptr) (( (bPt) gf_c15668)+160)/* var_c14420 */ ); (* (( (ptr) var_c15060)+1) ) = catchPhrase_v10272; (* (( (ptr) unwindFrame_v10244)+2) ) = var_c15060; }; SOURCE(10798, 44) (void) XR_SetDynamicEnvironment(catchPhrase_v10272); SOURCE(10844, 35) (* (( (ptr) gf_c15668)+7) ) = ((* (( (ptr) gf_c15668)+7) ) + 1); SOURCE(10881, 9) return(0); } extern void XR_PopHandler() { register ptr gf_c15700 = (ptr) &globalframe; word env_v10484; /* PopHandler: */ SOURCE(10896, 254) SOURCE(10963, 43) env_v10484 = (word) XR_GetDynamicEnvironment(); SOURCE(11008, 142) if ( ( (((* (( (ptr) env_v10484)+1) ) == 1073807360) || ((* (( (ptr) env_v10484)+1) ) == 1073807361)) ? ((* (( (ptr) (* (ptr) env_v10484 ))+1) ) == (* (( (ptr) gf_c15700)+6)/* UnwindFrameKey_v3168 */ )) : 0 ) ) { SOURCE(11113, 37) (void) XR_SetDynamicEnvironment((* (ptr) ((* (ptr) env_v10484 )) )); } else { SOURCE(11157, 5) (void) XR_RaiseUnnamedError(); }; } static void GetStatistics_P1080(formal_c0104) word formal_c0104; { register ptr gf_c15732 = (ptr) &globalframe; W5 var_c9472; /* GetStatistics: */ SOURCE(12220, 81) SOURCE(12287, 14) var_c9472 = (* (W5Pt) (( (ptr) gf_c15732)+7)/* stats_v4092 */ ); /* removed tail goto */ (* (W5Pt) formal_c0104 ) = var_c9472; return; } static void Initialize_P1140() { register ptr gf_c15764 = (ptr) &globalframe; /* Initialize: */ SOURCE(14204, 1085) SOURCE(14225, 1024) { word var_c15124; { word var_c15156; var_c15156 = XR_NewObject(96, (* (( (ptr) gf_c15764)+15) )); (* (( (ptr) var_c15156)+1) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+4) ); (* (( (ptr) var_c15156)+2) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+5) ); (* (( (ptr) var_c15156)+3) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+6) ); (* (( (ptr) var_c15156)+4) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+7) ); (* (( (ptr) var_c15156)+5) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+8) ); (* (( (ptr) var_c15156)+6) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+9) ); (* (( (ptr) var_c15156)+7) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+30) ); (* (( (ptr) var_c15156)+8) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+10) ); (* (( (ptr) var_c15156)+9) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+11) ); (* (( (ptr) var_c15156)+10) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+12) ); (* (( (ptr) var_c15156)+11) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+13) ); (* (( (ptr) var_c15156)+12) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+14) ); (* (( (ptr) var_c15156)+13) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+15) ); (* (( (ptr) var_c15156)+14) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+17) ); (* (( (ptr) var_c15156)+15) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+18) ); (* (( (ptr) var_c15156)+16) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+19) ); (* (( (ptr) var_c15156)+17) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+20) ); (* (( (ptr) var_c15156)+18) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+21) ); (* (( (ptr) var_c15156)+19) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+23) ); (* (( (ptr) var_c15156)+20) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+24) ); (* (( (ptr) var_c15156)+21) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+25) ); (* (( (ptr) var_c15156)+22) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+26) ); (* (( (ptr) var_c15156)+23) ) = (* (( (ptr) (* (( (ptr) gf_c15764)+58)/* var_c14740 */ ))+27) ); var_c15124 = var_c15156; }; (void) XR_SetSignalEnvironment(var_c15124); }; } static void NoName_Q1644(formal_c0114, formal_c200008, formal_c200009, formal_c200010, formal_c200011) word formal_c0114; word formal_c200008; word formal_c200009; word formal_c200010; word formal_c200011; { register ptr gf_c0154 = (ptr) &globalframe; if ((formal_c200009 == (* (( (ptr) (* (( (ptr) gf_c0154)+58)/* var_c14740 */ ))+17) ))) { { word signal_v12280; word args_v12308; word results_v12336; signal_v12280 = 0; SOURCE(3840, 34) { word tmpAddr15; tmpAddr15 = (word) formal_c200010; (* (ptr) tmpAddr15 ) = XR_Unwind; (* (( (ptr) tmpAddr15) + 1) ) = 0; (* (( (ptr) tmpAddr15) + 2) ) = 0; }; (* (ptr) formal_c0114 ) = 1; (* (( (ptr) formal_c0114)+1) ) = 0; return; }; }; (* (ptr) formal_c0114 ) = 0; (* (( (ptr) formal_c0114)+1) ) = 0; return; } static void NoName_Q1704(formal_c0119, formal_c200012, formal_c200013, formal_c200014, formal_c200015) word formal_c0119; word formal_c200012; word formal_c200013; word formal_c200014; word formal_c200015; { register ptr gf_c0155 = (ptr) &globalframe; if ((formal_c200013 == (* (( (ptr) (* (( (ptr) gf_c0155)+58)/* var_c14740 */ ))+16) ))) { SOURCE(4107, 15) (* (( (ptr) (* (ptr) formal_c200012 ))+6) ) = 1; SOURCE(4124, 9) (* (ptr) formal_c0119 ) = 2; (* (( (ptr) formal_c0119)+1) ) = 3; return; }; (* (ptr) formal_c0119 ) = 0; (* (( (ptr) formal_c0119)+1) ) = 0; return; } static void NoName_Q1764(formal_c0127, formal_c200000, formal_c200001, formal_c200002, formal_c200003) word formal_c0127; word formal_c200000; word formal_c200001; word formal_c200002; word formal_c200003; { register ptr gf_c0156 = (ptr) &globalframe; if ((formal_c200001 == (* (( (ptr) (* (( (ptr) gf_c0156)+58)/* var_c14740 */ ))+17) ))) { { word signal_v12004; word args_v12032; word results_v12060; signal_v12004 = 0; SOURCE(2109, 30) { word tmpAddr16; tmpAddr16 = (word) formal_c200002; (* (ptr) tmpAddr16 ) = (* (( (ptr) (* (( (ptr) formal_c200000)+9) ))+2) ); (* (( (ptr) tmpAddr16) + 1) ) = (* (( (ptr) formal_c200000)+4) ); (* (( (ptr) tmpAddr16) + 2) ) = (* (( (ptr) formal_c200000)+5) ); }; (* (ptr) formal_c0127 ) = 1; (* (( (ptr) formal_c0127)+1) ) = 0; return; }; }; (* (ptr) formal_c0127 ) = 0; (* (( (ptr) formal_c0127)+1) ) = 0; return; } static void NoName_Q1824(formal_c0132, formal_c200004, formal_c200005, formal_c200006, formal_c200007) word formal_c0132; word formal_c200004; word formal_c200005; word formal_c200006; word formal_c200007; { register ptr gf_c0157 = (ptr) &globalframe; if ((formal_c200005 == (* (( (ptr) (* (( (ptr) gf_c0157)+58)/* var_c14740 */ ))+16) ))) { SOURCE(2470, 28) SOURCE(2472, 15) (* (( (ptr) (* (ptr) formal_c200004 ))+7) ) = 1; SOURCE(2489, 9) (* (ptr) formal_c0132 ) = 2; (* (( (ptr) formal_c0132)+1) ) = 2; return; }; (* (ptr) formal_c0132 ) = 0; (* (( (ptr) formal_c0132)+1) ) = 0; return; } /* file: SignalsImpl, module: SignalsImpl, compiled at: September 3, 1993 1:40:34 pm PDT */ extern void XR_install_SignalsImpl() { NoName_Q1344(); } extern void XR_run_SignalsImpl() { XR_Start(&globalframe); }