/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: July 28, 1993 10:20:30 am PDT */ /* C2C version: April 20, 1993 (sun4) */ /* ref-counting: off */ /* file: ImagerMaskCacheImpl, module: ImagerMaskCacheImpl */ /* switches: bcfhklnouw */ #include #include static char versionStamp[] = "@(#)mob_version [665805338,2510502480] ImagerMaskCacheImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef struct {word f0, f1, f2, f3;} W4; typedef W4 *W4Pt; typedef word (*fPt)(); typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7; typedef struct {word f0, f1;} W2; typedef W2 *W2Pt; typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8; typedef struct {word f0, f1, f2, f3, f4;} W5; typedef struct {W8 f; W5 r;} W13; typedef struct {W8 f; W8 r;} W16; typedef W16 *W16Pt; typedef struct {word f0, f1, f2;} W3; typedef struct {word f0, f1, f2, f3, f4, f5;} W6; typedef struct {W16 f; W16 r;} W32; typedef struct {W32 f; W32 r;} W64; typedef struct {W64 f; W64 r;} W128; typedef struct {W128 f; W128 r;} W256; typedef W256 *W256Pt; #define SOURCE(p, l) /* source p, l */ static float fc25 = 0.10; static float fc26 = 1.2; #define SGNCK(i) ((int) (word) (i) < 0 ? XR_RaiseArithmeticFault(): i ) #define IOP2(op, x, y) ( (word) ((x) op (y)) ) #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR_RaiseBoundsFault()) : (idx) ) #define MAX(cast, x, y) ( ( cast x) > ( cast y) ? (x) : (y) ) #define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) ) static float fc108 = 1.0; static float fc109 = 0.0; static float fc110 = 2000.0; static void NoName_Q3384(); static void ImagerMaskCacheImpl_P0(); static word BitmapFromCharMask_P120(); static void boxGenerator_P1884(); static void BoxesFromCharMask_P180(); static word RasterCharMaskFromManhattan_P240(); static word RasterCharMaskFromSampleMap_P300(); static word RunsCharMaskFromManhattan_P360(); static void AppendRun_P2376(); static word CountRuns_P420(); static word NewGeneration_P480(); static word Create_P540(); static word Occupancy_P600(); static word Size_P660(); static word Fetch_P720(); static word HashCharAndFont_P780(); static word FetchInternal_P840(); static word GetParameters_P900(); static void UpdateParameters_P960(); static word NoName_Q3444(); static void Store_P1020(); static word StoreInternal_P1080(); static void Dillon_P1140(); static void EraseInternal_P1200(); static void Launder_P1260(); static void Flush_P1320(); static word GetList_P1380(); static word GetNamedCache_P1440(); static void SetNamedCacheParameters_P1500(); static void FlushAll_P1560(); static word epa_P3024(); static word ObtainSmallCache_P1620(); static void ReleaseSmallCache_P1680(); static void NoName_Q3504(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\047\257\142\032\300\225\243\072\120\101\050\000\000"}; static struct {unsigned f; char r[4];} string2 = {196611, "\004C0"}; static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\254\224\163\216\300\143\061\230\115\100\214\000\000"}; static struct {unsigned f; char r[4];} string4 = {65537, "\001\000\000"}; static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\047\257\142\032\300\225\243\072\120\101\064\000\000"}; static struct {unsigned f; char r[12];} string6 = {524296, "\011\000\004\040\040\000\010\001\000\000\000"}; static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\254\224\163\216\300\143\061\230\115\101\174\000\000"}; static struct {unsigned f; char r[4];} string8 = {131074, "\003\017\000"}; static struct {unsigned f; char r[24];} string9 = {1310744, "\205\210\242\000\100\377\216\257\300\254\224\163\216\300\143\061\230\115\100\260\000\000\000"}; static struct {unsigned f; char r[8];} string10 = {393222, "\010\000\004A\000\001\000"}; static struct {unsigned f; char r[44];} string11 = {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[104];} string12 = {6684776, "\260\006\005\146\151\162\163\164\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\005\004\162\145\163\164\214\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\261\000"}; static struct {unsigned f; char r[4];} string13 = {131074, "\004\003\000"}; static struct {unsigned f; char r[48];} string14 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\254\224\163\216\300\143\061\230\115\100\214\005\004\162\145\163\164\214\216\257\300\254\224\163\216\300\143\061\230\115\100\214\261\000\000\000"}; static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\047\257\142\032\300\225\243\072\120\100\200\000\000"}; static struct {unsigned f; char r[4];} string16 = {196611, "\004A0"}; static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\350\311\135\367\300\362\215\374\250\100\150\000\000"}; static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\213\226\301\143\300\072\355\320\373\100\150\000\000"}; static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\041\257\203\366\300\322\161\356\007\100\150\000\000"}; static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\242\221\264\046\300\105\142\142\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\243\162\130\311\300\344\000\142\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\254\224\163\216\300\143\061\230\115\100\150\000\000"}; static struct {unsigned f; char r[28];} string24 = {1638428, "\211\015\014\115\141\163\153\103\141\143\150\145\122\145\160\300\254\224\163\216\300\143\061\230\115\000\000"}; static struct { word f0[27]; 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; 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[16]; } globalframe = { {0}, (word) ReleaseSmallCache_P1680, 0, (word) ObtainSmallCache_P1620, 0, (word) FlushAll_P1560, 0, (word) SetNamedCacheParameters_P1500, 0, (word) GetNamedCache_P1440, 0, (word) GetList_P1380, 0, (word) Flush_P1320, 0, (word) Launder_P1260, 0, (word) EraseInternal_P1200, 0, (word) Dillon_P1140, 0, (word) StoreInternal_P1080, 0, (word) Store_P1020, 0, (word) UpdateParameters_P960, 0, (word) GetParameters_P900, 0, (word) FetchInternal_P840, 0, (word) HashCharAndFont_P780, 0, (word) Fetch_P720, 0, (word) Size_P660, 0, (word) Occupancy_P600, 0, (word) Create_P540, 0, (word) NewGeneration_P480, 0, (word) CountRuns_P420, 0, (word) RunsCharMaskFromManhattan_P360, 0, (word) RasterCharMaskFromSampleMap_P300, 0, (word) RasterCharMaskFromManhattan_P240, 0, (word) BoxesFromCharMask_P180, 0, (word) BitmapFromCharMask_P120, 0, (word) ImagerMaskCacheImpl_P0, {0} }; static void NoName_Q3384() { register ptr gf_c0259 = (ptr) &globalframe; word var_c24440; (* (( (ptr) gf_c0259)+11) ) = (word) XR_GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf_c0259)+15) ) = (word) XR_GetTypeIndex((word) &string3, 0, (word) &string4); (* (( (ptr) gf_c0259)+18) ) = (word) XR_GetTypeIndex((word) &string5, 0, (word) &string6); (* (( (ptr) gf_c0259)+19) ) = (word) XR_GetTypeIndex((word) &string7, 0, (word) &string8); (* (( (ptr) gf_c0259)+20) ) = (word) XR_GetTypeIndex((word) &string9, 0, (word) &string10); (* (( (ptr) gf_c0259)+21) ) = (word) XR_GetTypeIndexS((word) (&string11)); (* (( (ptr) gf_c0259)+22) ) = (word) XR_GetTypeIndex((word) &string12, 0, (word) &string13); (* (( (ptr) gf_c0259)+25) ) = (word) XR_GetTypeIndex((word) &string14, 0, (word) &string13); (void) XR_DeclareGlobalFrame((word) "ImagerMaskCacheImpl", &globalframe, (word) XR_GetTypeIndex((word) &string15, 0, (word) &string16) , (word) (( (bPt) gf_c0259)+324)/* var_c21656 */ ); var_c24440 = (word) XR_ImportInterface((word) "ImagerManhattan", (word) XR_GetTypeIndexS((word) (&string17)), 24); (* (( (ptr) gf_c0259)+94)/* var_c23096 */ ) = var_c24440; (void) XR_ImportProcS(var_c24440, 790275); var_c24440 = (word) XR_ImportInterface((word) "ImagerSample", (word) XR_GetTypeIndexS((word) (&string18)), 60); (* (( (ptr) gf_c0259)+93)/* var_c22072 */ ) = var_c24440; (void) XR_ImportProcS(var_c24440, 2370822); (void) XR_ImportProcS(var_c24440, 1847300); (void) XR_ImportProcS(var_c24440, 268801); (void) XR_ImportProcS(var_c24440, 538626); (void) XR_ImportProcS(var_c24440, 68425474); (void) XR_ImportProcS(var_c24440, 1062404); (void) XR_ImportProcS(var_c24440, 273409); (void) XR_ImportProcS(var_c24440, 68685571); (void) XR_ImportProcS(var_c24440, 70259976); var_c24440 = (word) XR_ImportInterface((word) "ImagerSys", (word) XR_GetTypeIndexS((word) (&string19)), 15); (* (( (ptr) gf_c0259)+95)/* var_c23256 */ ) = var_c24440; (void) XR_ImportProcS(var_c24440, 68158210); (void) XR_ImportProcS(var_c24440, 67372033); var_c24440 = (word) XR_ImportInterface((word) "Real", (word) XR_GetTypeIndexS((word) (&string20)), 11); (* (( (ptr) gf_c0259)+96)/* var_c23896 */ ) = var_c24440; (void) XR_ImportProcS(var_c24440, 67371777); var_c24440 = (word) XR_ImportInterface((word) "RefTab", (word) XR_GetTypeIndexS((word) (&string21)), 16); (* (( (ptr) gf_c0259)+91)/* var_c21816 */ ) = var_c24440; (void) XR_ImportProcS(var_c24440, 67635458); (void) XR_ImportProcS(var_c24440, 67896579); (void) XR_ImportProcS(var_c24440, 134742786); (void) XR_ImportProcS(var_c24440, 67895555); var_c24440 = (word) XR_ImportInterface((word) "SF", (word) XR_GetTypeIndexS((word) (&string22)), 19); (* (( (ptr) gf_c0259)+92)/* var_c21880 */ ) = var_c24440; (void) XR_ImportProcS(var_c24440, 68161025); (void) XR_ImportProcS(var_c24440, 68160769); (void) XR_ImportProcS(var_c24440, 135266818); (void) XR_ImportProcS(var_c24440, 135270145); var_c24440 = (word) XR_ExportInterface((word) "ImagerMaskCache", (word) XR_GetTypeIndexS((word) (&string23)), 21); (* (( (ptr) gf_c0259)+97)/* var_c24472 */ ) = var_c24440; (void) XR_ExportProcS(var_c24440, (word) (( (bPt) gf_c0259)+316)/* var_c21624 */ , 67371009, (word) "BitmapFromCharMask") ; (void) XR_ExportProcS(var_c24440, (word) (( (bPt) gf_c0259)+308)/* var_c21592 */ , 2097412, (word) "BoxesFromCharMask"); (void) XR_ExportProcS(var_c24440, (word) (( (bPt) gf_c0259)+292)/* var_c21528 */ , 67371521, (word) "RasterCharMaskFromSampleMap") ; (void) XR_ExportProcS(var_c24440, (word) (( (bPt) gf_c0259)+300)/* var_c21560 */ , 68420354, (word) "RasterCharMaskFromManhattan") ; (void) XR_ExportProcS(var_c24440, (word) (( (bPt) gf_c0259)+284)/* var_c21496 */ , 68682755, (word) "RunsCharMaskFromManhattan") ; (void) XR_ExportProcS(var_c24440, (word) (( (bPt) gf_c0259)+276)/* var_c21464 */ , 67372289, (word) "CountRuns"); (void) XR_ExportType((word) "MaskCacheRep", (word) XR_GetTypeIndexS((word) (&string24)), (word) XR_GetTypeIndex((word) &string1, 0, (word) &string2) ); (void) XR_ExportProcS(var_c24440, (word) (( (bPt) gf_c0259)+260)/* var_c21400 */ , 71304961, (word) "Create"); (void) XR_ExportProcS(var_c24440, (word) (( (bPt) gf_c0259)+244)/* var_c21336 */ , 67373057, (word) "Size"); (void) XR_ExportProcS(var_c24440, (word) (( (bPt) gf_c0259)+236)/* var_c21304 */ , 67897603, (word) "Fetch"); (void) XR_ExportProcS(var_c24440, (word) (( (bPt) gf_c0259)+212)/* var_c21208 */ , 67373569, (word) "GetParameters"); (void) XR_ExportProcS(var_c24440, (word) (( (bPt) gf_c0259)+204)/* var_c21176 */ , 527106, (word) "UpdateParameters"); (void) XR_ExportProcS(var_c24440, (word) (( (bPt) gf_c0259)+196)/* var_c21144 */ , 527362, (word) "Store"); (void) XR_ExportProcS(var_c24440, (word) (( (bPt) gf_c0259)+156)/* var_c20984 */ , 265473, (word) "Flush"); (void) XR_ExportProcS(var_c24440, (word) (( (bPt) gf_c0259)+164)/* var_c21016 */ , 527874, (word) "Launder"); (void) XR_ExportProcS(var_c24440, (word) (( (bPt) gf_c0259)+148)/* var_c20952 */ , 67374849, (word) "GetList"); (void) XR_ExportProcS(var_c24440, (word) (( (bPt) gf_c0259)+140)/* var_c20920 */ , 67375105, (word) "GetNamedCache"); (void) XR_ExportProcS(var_c24440, (word) (( (bPt) gf_c0259)+132)/* var_c20888 */ , 4460802, (word) "SetNamedCacheParameters") ; (void) XR_ExportProcS(var_c24440, (word) (( (bPt) gf_c0259)+124)/* var_c20856 */ , 4608, (word) "FlushAll"); (void) XR_ExportProcS(var_c24440, (word) (( (bPt) gf_c0259)+116)/* var_c20824 */ , 67375873, (word) "ObtainSmallCache"); (void) XR_ExportProcS(var_c24440, (word) (( (bPt) gf_c0259)+108)/* var_c20792 */ , 529410, (word) "ReleaseSmallCache"); } static void ImagerMaskCacheImpl_P0(formal_c048, formal_c047) word formal_c048; word formal_c047; { register ptr gf_c24504 = (ptr) &globalframe; /* ImagerMaskCacheImpl: */ SOURCE(527, 12564) (* (( (ptr) gf_c24504)+87) ) = 2147483648; (* (( (ptr) gf_c24504)+88) ) = 2147483648; (* (( (ptr) gf_c24504)+89) ) = 2147483647; (* (( (ptr) gf_c24504)+90) ) = 2147483647; SOURCE(6322, 80) (* (( (ptr) gf_c24504)+4)/* nullCharMask_v3364 */ ) = (word) RasterCharMaskFromManhattan_P240(0, (* (W4Pt) (( (ptr) gf_c24504)+83) /* var_c21720 */ )); SOURCE(6404, 46) (* (( (ptr) gf_c24504)+5)/* emptyGeneration_v3392 */ ) = (word) NewGeneration_P480(0); SOURCE(9999, 24) (* (( (ptr) gf_c24504)+6)/* discardRate_v3756 */ ) = (* (ptr) &fc25 ); SOURCE(10088, 24) (* (( (ptr) gf_c24504)+7)/* growthFactor_v3784 */ ) = (* (ptr) &fc26 ); SOURCE(12138, 38) { word pd27; pd27 = (* (( (ptr) (* (( (ptr) gf_c24504)+91)/* var_c21816 */ ))+5) ); (* (( (ptr) gf_c24504)+8)/* cacheTab_v4008 */ ) = (word) ( *( (fPt) ((* (ptr) pd27 ))))(17, 0, 0, pd27); }; SOURCE(12325, 35) (* (( (ptr) gf_c24504)+9)/* smallCacheFailLimit_v4064 */ ) = 500; } static word BitmapFromCharMask_P120(formal_c0298) word formal_c0298; { W7 var_c24536; /* declaration of charMask_v4356 skipped */ register ptr gf_c24568 = (ptr) &globalframe; word var_c4400; /* declaration of var_c21848 skipped */ W2 size_v8060; var_c24536.f4/* charMask_v4356 */ = formal_c0298; /* BitmapFromCharMask: */ SOURCE(1244, 888) { word tmpAddr28; tmpAddr28 = (word) (( (ptr) &var_c24536)+5)/* var_c21848 */ ; (* (ptr) tmpAddr28 ) = ( ((word) (fPt) boxGenerator_P1884) ); (* (( (ptr) tmpAddr28) + 1) ) = 1; }; SOURCE(1334, 36) { word pd29; pd29 = (* (( (ptr) (* (( (ptr) gf_c24568)+92)/* var_c21880 */ ))+19) ); (void) ( *( (fPt) ((* (ptr) pd29 ))))((word) &size_v8060, (* (W4Pt) (( (ptr) var_c24536.f4/* charMask_v4356 */ )+4) ), pd29) ; }; SOURCE(1372, 760) { word var_c21912; var_c21912 = var_c24536.f4/* charMask_v4356 */ ; if ((var_c21912 == 0)) { goto lab_L100000; }; if (((* (( (ptr) var_c21912)+9) ) == 0)) { { word raster_v8104; raster_v8104 = var_c21912; SOURCE(1440, 330) { word wordsPerLine_v8160; word bitmap_v8188; SOURCE(1442, 61) wordsPerLine_v8160 = ((word) (size_v8060.f1 + 31) >> 5); SOURCE(1505, 247) { word var_c21944; { word raster_v20696; raster_v20696 = raster_v8104; SOURCE(1172, 68) var_c21944 = (raster_v20696 + 44); }; { W2 var_c22008; W2 var_c22040; var_c22008.f0 = var_c21944; var_c22008.f1 = 0; var_c22040.f0 = 0; var_c22040.f1 = 0; { word pd30; word idx31; pd30 = (* (( (ptr) (* (( (ptr) gf_c24568)+93)/* var_c22072 */ ))+25) ); bitmap_v8188 = (word) ( *( (fPt) ((* (ptr) pd30 ))))(size_v8060, 1, ( /*1*/ idx31 = (word) ((word) wordsPerLine_v8160 << 5), /*1*/ SGNCK(idx31) /*1*/ ), var_c22008, raster_v8104, IOP2( * , (int)wordsPerLine_v8160, (int)size_v8060.f0) , var_c22040, (* (W2Pt) (( (ptr) var_c24536.f4/* charMask_v4356 */ )+4) ), pd30); }; }; }; SOURCE(1754, 16) return(bitmap_v8188); }; }; } else { lab_L100000: ; SOURCE(1784, 348) { word bitmap_v8232; SOURCE(1786, 95) { word pd32; pd32 = (* (( (ptr) (* (( (ptr) gf_c24568)+93)/* var_c22072 */ ))+19) ); bitmap_v8232 = (word) ( *( (fPt) ((* (ptr) pd32 ))))((* (W4Pt) (( (ptr) var_c24536.f4/* charMask_v4356 */ )+4) ), 1, 0, pd32) ; }; SOURCE(2020, 26) { word pd33; pd33 = (* (( (ptr) (* (( (ptr) gf_c24568)+93)/* var_c22072 */ ))+48) ); (void) ( *( (fPt) ((* (ptr) pd33 ))))(bitmap_v8232, pd33); }; SOURCE(2048, 66) { word pd34; pd34 = (* (( (ptr) (* (( (ptr) gf_c24568)+93)/* var_c22072 */ ))+58) ); (void) ( *( (fPt) ((* (ptr) pd34 ))))(bitmap_v8232, (word) (( (bPt) &var_c24536)+20)/* var_c21848 */ , 1, 0, pd34); }; SOURCE(2116, 16) return(bitmap_v8232); }; }; }; } static void boxGenerator_P1884(boxAction_v8336, formal_c24632) word boxAction_v8336; word formal_c24632; { register ptr gf_c24600 = (ptr) &globalframe; formal_c24632 = (formal_c24632 - 20); /* boxGenerator: */ SOURCE(1883, 42) SOURCE(1954, 61) { W2 var_c22104; var_c22104.f0 = 0; var_c22104.f1 = 0; (void) BoxesFromCharMask_P180((* (( (ptr) formal_c24632)+4) ), boxAction_v8336, var_c22104, (* (W4Pt) (( (ptr) gf_c24600)+87) /* var_c21784 */ )); }; } static void BoxesFromCharMask_P180(charMask_v4460, boxAction_v4488, delta_v4516, clip_v4544) word charMask_v4460; word boxAction_v4488; W2 delta_v4516; W4 clip_v4544; { register ptr gf_c24664 = (ptr) &globalframe; /* BoxesFromCharMask: */ SOURCE(2138, 1218) SOURCE(2248, 1108) { word var_c22136; var_c22136 = charMask_v4460; if ((var_c22136 == 0)) { goto lab_L100002; }; { word var_c22392; var_c22392 = (* (( (ptr) var_c22136)+9) ); if ((var_c22392 == 0)) { { word raster_v8364; raster_v8364 = var_c22136; SOURCE(2316, 565) { W2 size_v8420; word wordsPerLine_v8448; word bitmap_v8476; word clipped_v8504; SOURCE(2318, 36) { word pd35; pd35 = (* (( (ptr) (* (( (ptr) gf_c24664)+92)/* var_c21880 */ ))+19) ); (void) ( *( (fPt) ((* (ptr) pd35 ))))((word) &size_v8420, (* (W4Pt) (( (ptr) charMask_v4460)+4) ), pd35); }; SOURCE(2356, 61) wordsPerLine_v8448 = ((word) (size_v8420.f1 + 31) >> 5); SOURCE(2419, 262) { word var_c22168; W2 var_c22232; { word raster_v20648; raster_v20648 = raster_v8364; SOURCE(1172, 68) var_c22168 = (raster_v20648 + 44); }; { word pd36; pd36 = (* (( (ptr) (* (( (ptr) gf_c24664)+92)/* var_c21880 */ ))+6) ); (void) ( *( (fPt) ((* (ptr) pd36 ))))((word) &var_c22232, (* (W2Pt) (( (ptr) charMask_v4460)+4) ), delta_v4516, pd36); }; { W2 var_c22264; W2 var_c22296; var_c22264.f0 = var_c22168; var_c22264.f1 = 0; var_c22296.f0 = 0; var_c22296.f1 = 0; { word pd37; word idx38; pd37 = (* (( (ptr) (* (( (ptr) gf_c24664)+93)/* var_c22072 */ ))+25) ); bitmap_v8476 = (word) ( *( (fPt) ((* (ptr) pd37 ))))(size_v8420, 1, ( /*1*/ idx38 = (word) ((word) wordsPerLine_v8448 << 5), /*1*/ SGNCK(idx38) /*1*/ ), var_c22264, raster_v8364, IOP2( * , (int)wordsPerLine_v8448, (int)size_v8420.f0) /*1*/ , var_c22296, var_c22232, pd37); }; }; }; SOURCE(2683, 65) { word pd39; pd39 = (* (( (ptr) (* (( (ptr) gf_c24664)+93)/* var_c22072 */ ))+27) ); clipped_v8504 = (word) ( *( (fPt) ((* (ptr) pd39 ))))(bitmap_v8476, clip_v4544, pd39); }; SOURCE(2750, 48) { word pd40; pd40 = (* (( (ptr) (* (( (ptr) gf_c24664)+93)/* var_c22072 */ ))+60) ); (void) ( *( (fPt) ((* (ptr) pd40 ))))(clipped_v8504, boxAction_v4488, pd40); }; SOURCE(2800, 38) { word pd41; pd41 = (* (( (ptr) (* (( (ptr) gf_c24664)+93)/* var_c22072 */ ))+30) ); (void) ( *( (fPt) ((* (ptr) pd41 ))))(bitmap_v8476, pd41); }; SOURCE(2840, 39) { word pd42; pd42 = (* (( (ptr) (* (( (ptr) gf_c24664)+93)/* var_c22072 */ ))+30) ); (void) ( *( (fPt) ((* (ptr) pd42 ))))(clipped_v8504, pd42); }; }; }; } else { if ((var_c22392 == 1)) { { word runGroup_v8548; runGroup_v8548 = var_c22136; SOURCE(2918, 449) { word s0_v8604; word f0_v8632; word s_v8660; SOURCE(2920, 45) s0_v8604 = (delta_v4516.f0 + (* (( (ptr) charMask_v4460)+4) )); SOURCE(2967, 45) f0_v8632 = (delta_v4516.f1 + (* (( (ptr) charMask_v4460)+5) )); SOURCE(3014, 15) s_v8660 = s0_v8604; SOURCE(3031, 325) { register word i_v8704 = 0; register word noName_c22328; noName_c22328 = (* (( (ptr) runGroup_v8548)+10) ); if ((i_v8704 >= noName_c22328)) { goto lab_L100004; }; lab_L100007: ; if (( (int)s_v8660 < (int)clip_v4544.f2)) { } else { goto lab_L100004; }; { word r_v8748; SOURCE(3089, 36) { /*1*/ word limit43; /*1*/ r_v8748 = (* ((( (ptr) runGroup_v8548)+11)+( /*1*/ limit43 = (* (( (ptr) runGroup_v8548)+10) ), /*1*/ BCK(i_v8704, limit43) /*1*/ )) ); /*1*/ }; SOURCE(3127, 197) if (( (int)s_v8660 >= (int)clip_v4544.f0)) { SOURCE(3151, 175) /*1*/ { /*1*/ word fMin_v8792; /*1*/ word fMax_v8820; SOURCE(3153, 47) /*1*/ { /*1*/ word x44; /*1*/ word x45; /*1*/ fMin_v8792 = (x44 = ( (unsigned) ((unsigned)r_v8748 >> 16) + f0_v8632), /*1*/ x45 = clip_v4544.f1, /*1*/ MAX((int)(word), x44, x45)); /*1*/ }; SOURCE(3202, 55) /*1*/ { /*1*/ word x46; /*1*/ word x47; /*1*/ fMax_v8820 = (x46 = (( (unsigned) ((unsigned)r_v8748 >> 16) + (unsigned) ( (((unsigned)r_v8748 << 17) >> 17) )) + f0_v8632), /*1*/ x47 = clip_v4544.f3, /*1*/ MIN((int)(word), x46, x47)); /*1*/ }; SOURCE(3259, 65) /*1*/ if (( (int)fMax_v8820 > (int)fMin_v8792)) { SOURCE(3279, 45) /*1*/ { /*1*/ W4 var_c22360; /*1*/ var_c22360.f0 = s_v8660; /*1*/ var_c22360.f1 = fMin_v8792; /*1*/ var_c22360.f2 = (s_v8660 + 1); /*1*/ var_c22360.f3 = fMax_v8820; /*1*/ (void) ( *( (fPt) ((* (ptr) boxAction_v4488 ))))(var_c22360, boxAction_v4488); /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; SOURCE(3329, 27) if (r_v8748 & 0100000) { SOURCE(3347, 9) /*1*/ s_v8660 = (s_v8660 + 1); /*1*/ }; }; i_v8704 = (i_v8704 + 1); if ((i_v8704 < noName_c22328)) { goto lab_L100007; }; lab_L100004: ; }; }; }; } else { lab_L100002: ; }; }; }; }; } static word RasterCharMaskFromManhattan_P240(p_v4604, bb_v4632) word p_v4604; W4 bb_v4632; { register ptr gf_c24696 = (ptr) &globalframe; word var_c4676; word rast_v8864; word bitmapWords_v8892; /* RasterCharMaskFromManhattan: */ SOURCE(3391, 702) SOURCE(3510, 63) { word pd48; pd48 = (* (( (ptr) (* (( (ptr) gf_c24696)+92)/* var_c21880 */ ))+17) ); rast_v8864 = ((word) ((word) ( *( (fPt) ((* (ptr) pd48 ))))(bb_v4632, pd48) + 31) >> 5); }; SOURCE(3575, 36) { word pd49; word idx50; pd49 = (* (( (ptr) (* (( (ptr) gf_c24696)+92)/* var_c21880 */ ))+18) ); bitmapWords_v8892 = ( idx50 = (word) ((word) ( *( (fPt) ((* (ptr) pd49 ))))(bb_v4632, pd49) * rast_v8864), SGNCK(idx50) ); }; SOURCE(3613, 480) if (( (int)bitmapWords_v8892 > (int)32000)) { SOURCE(3641, 26) return(0); } else { SOURCE(3667, 428) { word mask_v8936; word bits_v8964; SOURCE(3669, 72) { word var_c22424; word var_c22456; word var_c22488; var_c22424 = SGNCK(bitmapWords_v8892); var_c22456 = ((word) var_c22424 << 2); var_c22488 = XR_NewObject((44 + var_c22456), (* (( (ptr) gf_c24696)+15) )); (* (( (ptr) var_c22488)+10) ) = var_c22424; mask_v8936 = var_c22488; }; SOURCE(3743, 207) { W2 var_c22520; word var_c22552; { word pd51; pd51 = (* (( (ptr) (* (( (ptr) gf_c24696)+92)/* var_c21880 */ ))+19) ); (void) ( *( (fPt) ((* (ptr) pd51 ))))((word) &var_c22520, bb_v4632, pd51); }; { word raster_v20600; raster_v20600 = mask_v8936; SOURCE(1172, 68) var_c22552 = (raster_v20600 + 44); }; { W2 var_c22616; W2 var_c22648; var_c22616.f0 = var_c22552; var_c22616.f1 = 0; var_c22648.f0 = 0; var_c22648.f1 = 0; { word pd52; word idx53; pd52 = (* (( (ptr) (* (( (ptr) gf_c24696)+93)/* var_c22072 */ ))+25) ); bits_v8964 = (word) ( *( (fPt) ((* (ptr) pd52 ))))(var_c22520, 1, ( idx53 = (word) ((word) rast_v8864 << 5), SGNCK(idx53) ), var_c22616, mask_v8936, bitmapWords_v8892 , var_c22648, (* (W2Pt) &bb_v4632 ), pd52); }; }; }; SOURCE(3952, 13) (* (W4Pt) (( (ptr) mask_v8936)+4) ) = bb_v4632; SOURCE(3967, 64) lab_L100011: ; if ((p_v4604 != 0)) { } else { goto lab_L100009; }; SOURCE(3984, 35) { word pd54; pd54 = (* (( (ptr) (* (( (ptr) gf_c24696)+93)/* var_c22072 */ ))+52) ); (void) ( *( (fPt) ((* (ptr) pd54 ))))(bits_v8964, (* (W4Pt) p_v4604 ), 1, 0, pd54); }; SOURCE(4021, 10) p_v4604 = (* (( (ptr) p_v4604)+4) ); goto lab_L100011; lab_L100009: ; SOURCE(4042, 36) { word pd55; pd55 = (* (( (ptr) (* (( (ptr) gf_c24696)+93)/* var_c22072 */ ))+30) ); (void) ( *( (fPt) ((* (ptr) pd55 ))))(bits_v8964, pd55); }; SOURCE(4080, 13) return(mask_v8936); }; }; } static word RasterCharMaskFromSampleMap_P300(map_v4748) word map_v4748; { register ptr gf_c24728 = (ptr) &globalframe; word var_c4792; W4 bb_v9020; word rast_v9048; word bitmapWords_v9076; /* RasterCharMaskFromSampleMap: */ SOURCE(4102, 761) SOURCE(4210, 37) bb_v9020 = (* (W4Pt) map_v4748 ); SOURCE(4249, 63) { word pd56; pd56 = (* (( (ptr) (* (( (ptr) gf_c24728)+92)/* var_c21880 */ ))+17) ); rast_v9048 = ((word) ((word) ( *( (fPt) ((* (ptr) pd56 ))))(bb_v9020, pd56) + 31) >> 5); }; SOURCE(4314, 42) { word pd57; word idx58; pd57 = (* (( (ptr) (* (( (ptr) gf_c24728)+92)/* var_c21880 */ ))+18) ); bitmapWords_v9076 = ( idx58 = (word) ((word) ( *( (fPt) ((* (ptr) pd57 ))))(bb_v9020, pd57) * rast_v9048), SGNCK(idx58) ); }; SOURCE(4358, 505) if (( (int)bitmapWords_v9076 > (int)32000)) { SOURCE(4386, 26) return(0); } else { SOURCE(4412, 453) { word mask_v9120; word bits_v9148; SOURCE(4414, 72) { word var_c22680; word var_c22712; word var_c22744; var_c22680 = SGNCK(bitmapWords_v9076); var_c22712 = ((word) var_c22680 << 2); var_c22744 = XR_NewObject((44 + var_c22712), (* (( (ptr) gf_c24728)+15) )); (* (( (ptr) var_c22744)+10) ) = var_c22680; mask_v9120 = var_c22744; }; SOURCE(4488, 207) { W2 var_c22776; word var_c22808; { word pd59; pd59 = (* (( (ptr) (* (( (ptr) gf_c24728)+92)/* var_c21880 */ ))+19) ); (void) ( *( (fPt) ((* (ptr) pd59 ))))((word) &var_c22776, bb_v9020, pd59); }; { word raster_v20552; raster_v20552 = mask_v9120; SOURCE(1172, 68) var_c22808 = (raster_v20552 + 44); }; { W2 var_c22872; W2 var_c22904; var_c22872.f0 = var_c22808; var_c22872.f1 = 0; var_c22904.f0 = 0; var_c22904.f1 = 0; { word pd60; word idx61; pd60 = (* (( (ptr) (* (( (ptr) gf_c24728)+93)/* var_c22072 */ ))+25) ); bits_v9148 = (word) ( *( (fPt) ((* (ptr) pd60 ))))(var_c22776, 1, ( idx61 = (word) ((word) rast_v9048 << 5), SGNCK(idx61) ), var_c22872, mask_v9120, bitmapWords_v9076 , var_c22904, (* (W2Pt) &bb_v9020 ), pd60); }; }; }; SOURCE(4697, 13) (* (W4Pt) (( (ptr) mask_v9120)+4) ) = bb_v9020; SOURCE(4712, 98) { W2 var_c22936; { word pd62; pd62 = (* (( (ptr) (* (( (ptr) gf_c24728)+92)/* var_c21880 */ ))+19) ); (void) ( *( (fPt) ((* (ptr) pd62 ))))((word) &var_c22936, bb_v9020, pd62); }; { word pd63; pd63 = (* (( (ptr) (* (( (ptr) gf_c24728)+93)/* var_c22072 */ ))+49) ); (void) ( *( (fPt) ((* (ptr) pd63 ))))(bits_v9148, map_v4748, (* (W2Pt) &bb_v9020 ), (* (W2Pt) &bb_v9020 ), var_c22936, 0, pd63) ; }; }; SOURCE(4812, 36) { word pd64; pd64 = (* (( (ptr) (* (( (ptr) gf_c24728)+93)/* var_c22072 */ ))+30) ); (void) ( *( (fPt) ((* (ptr) pd64 ))))(bits_v9148, pd64); }; SOURCE(4850, 13) return(mask_v9120); }; }; } static word RunsCharMaskFromManhattan_P360(p_v4864, formal_c0299, nRuns_v4920) word p_v4864; W4 formal_c0299; word nRuns_v4920; { W13 var_c24760; /* declaration of bb_v4892 skipped */ register ptr gf_c24792 = (ptr) &globalframe; /* declaration of mask_v4964 skipped */ /* declaration of var_c22968 skipped */ /* declaration of i_v9204 skipped */ /* declaration of s_v9232 skipped */ (* (W4Pt) (( (ptr) &var_c24760)+4)/* bb_v4892 */ ) = formal_c0299; /* RunsCharMaskFromManhattan: */ SOURCE(4872, 780) { word tmpAddr65; tmpAddr65 = (word) (( (ptr) &var_c24760)+9)/* var_c22968 */ ; (* (ptr) tmpAddr65 ) = ( ((word) (fPt) AppendRun_P2376) ); (* (( (ptr) tmpAddr65) + 1) ) = 1; }; SOURCE(4872, 780) (* (( (ptr) &var_c24760)+8)/* mask_v4964 */ ) = 0; SOURCE(5005, 10) (* (( (ptr) &var_c24760)+11)/* i_v9204 */ ) = 0; SOURCE(5017, 10) (* (( (ptr) &var_c24760)+12)/* s_v9232 */ ) = 0; { word var_c23128; SOURCE(5388, 46) if (( (int)nRuns_v4920 == (int)0) || ( (int)nRuns_v4920 > (int)4000)) { SOURCE(5422, 12) return(0); }; SOURCE(5436, 35) { word var_c23000; word var_c23032; word var_c23064; var_c23000 = SGNCK(nRuns_v4920); var_c23032 = ((word) var_c23000 << 2); var_c23064 = XR_NewObject((44 + var_c23032), (* (( (ptr) gf_c24792)+15) )); (* (( (ptr) var_c23064)+10) ) = var_c23000; (* (( (ptr) var_c23064)+9) ) = 1; (* (( (ptr) &var_c24760)+8)/* mask_v4964 */ ) = var_c23064; }; SOURCE(5473, 13) (* (W4Pt) (( (ptr) (* (( (ptr) &var_c24760)+8)/* mask_v4964 */ ))+4) ) = (* (W4Pt) (( (ptr) &var_c24760)+4)/* bb_v4892 */ ); SOURCE(5488, 65) { word pd66; pd66 = (* (( (ptr) (* (( (ptr) gf_c24792)+94)/* var_c23096 */ ))+19) ); (void) ( *( (fPt) ((* (ptr) pd66 ))))(p_v4864, (word) (( (bPt) &var_c24760)+36)/* var_c22968 */ , 1, pd66); }; SOURCE(5555, 16) if (( (int)(* (( (ptr) &var_c24760)+11)/* i_v9204 */ ) != (int)nRuns_v4920)) { SOURCE(5571, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(5578, 43) { word pd67; pd67 = (* (( (ptr) (* (( (ptr) gf_c24792)+92)/* var_c21880 */ ))+18) ); if ((((* (( (ptr) &var_c24760)+12)/* s_v9232 */ ) + 1) != (word) ( *( (fPt) ((* (ptr) pd67 ))))((* (W4Pt) ((( (ptr) (* ( ( (ptr) &var_c24760)+8)/* mask_v4964 */ ))+4)) ), pd67))) { SOURCE(5621, 5) (void) XR_RaiseUnnamedError(); }; }; SOURCE(5628, 24) { word limit68; var_c23128 = ((* (( (ptr) &var_c24760)+11)/* i_v9204 */ ) - 1); (* (((( (ptr) (* (( (ptr) &var_c24760)+8)/* mask_v4964 */ ))+11)+( limit68 = (* (( (ptr) (* (( (ptr) &var_c24760)+8)/* mask_v4964 */ ))+10) ), BCK(var_c23128, limit68) ))) ) |= 32768; }; }; SOURCE(4872, 780) return((* (( (ptr) &var_c24760)+8)/* mask_v4964 */ )); } static void AppendRun_P2376(box_v9336, formal_c24856) W4 box_v9336; word formal_c24856; { register ptr gf_c24824 = (ptr) &globalframe; word check_v9364; word smin_v9392; word fmin_v9420; formal_c24856 = (formal_c24856 - 36); /* AppendRun: */ SOURCE(5029, 354) SOURCE(5063, 29) { word pd69; word idx70; pd69 = (* (( (ptr) (* (( (ptr) gf_c24824)+92)/* var_c21880 */ ))+18) ); check_v9364 = ( idx70 = (word) ((word) ( *( (fPt) ((* (ptr) pd69 ))))(box_v9336, pd69) - 1), BCK(idx70, 1) ); }; SOURCE(5094, 30) { word idx71; smin_v9392 = ( idx71 = (word) (box_v9336.f0 - (* (( (ptr) formal_c24856)+4) )), SGNCK(idx71) ); }; SOURCE(5126, 30) { word idx72; fmin_v9420 = ( idx72 = (word) (box_v9336.f1 - (* (( (ptr) formal_c24856)+5) )), SGNCK(idx72) ); }; SOURCE(5158, 140) if ((smin_v9392 != (* (( (ptr) formal_c24856)+12) ))) { { word var_c23160; SOURCE(5177, 24) { word limit73; var_c23160 = ((* (( (ptr) formal_c24856)+11) ) - 1); (* (((( (ptr) (* (( (ptr) formal_c24856)+8) ))+11)+( limit73 = (* (( (ptr) (* (( (ptr) formal_c24856)+8) ))+10) ), BCK(var_c23160, limit73) ))) ) |= 32768; }; SOURCE(5203, 9) (* (( (ptr) formal_c24856)+12) ) = ((* (( (ptr) formal_c24856)+12) ) + 1); SOURCE(5214, 84) lab_L100015: ; if ((smin_v9392 > (* (( (ptr) formal_c24856)+12) ))) { } else { goto lab_L100013; }; SOURCE(5232, 44) { word idx74; word limit75; (* ((( (ptr) (* (( (ptr) formal_c24856)+8) ))+11)+( idx74 = (* (( (ptr) formal_c24856)+11) ), limit75 = (* (( (ptr) (* (( (ptr) formal_c24856)+8) ))+10) ), BCK(idx74, limit75) )) ) = 32768; }; SOURCE(5278, 9) (* (( (ptr) formal_c24856)+11) ) = ((* (( (ptr) formal_c24856)+11) ) + 1); SOURCE(5289, 9) (* (( (ptr) formal_c24856)+12) ) = ((* (( (ptr) formal_c24856)+12) ) + 1); goto lab_L100015; lab_L100013: ; }; }; SOURCE(5312, 60) { word var_c23192; { word pd76; word idx77; pd76 = (* (( (ptr) (* (( (ptr) gf_c24824)+92)/* var_c21880 */ ))+17) ); var_c23192 = ( idx77 = (word) ( *( (fPt) ((* (ptr) pd76 ))))(box_v9336, pd76), BCK(idx77, 32768) ); }; { word idx78; word limit79; (* ((( (ptr) (* (( (ptr) formal_c24856)+8) ))+11)+( idx78 = (* (( (ptr) formal_c24856)+11) ), limit79 = (* (( (ptr) (* (( (ptr) formal_c24856)+8) ))+10) ), BCK(idx78, limit79) )) ) = (((word) BCK(fmin_v9420, 65536) << 16) + (unsigned) ( (((unsigned)var_c23192 << 17) >> 17) )); }; }; SOURCE(5374, 9) (* (( (ptr) formal_c24856)+11) ) = ((* (( (ptr) formal_c24856)+11) ) + 1); } static word CountRuns_P420(p_v5036) word p_v5036; { register ptr gf_c24888 = (ptr) &globalframe; word runs_v5080; word s_v9484; /* CountRuns: */ SOURCE(5658, 305) SOURCE(5658, 305) runs_v5080 = 0; SOURCE(5738, 49) s_v9484 = ( (p_v5036 != 0) ? (* (ptr) p_v5036 ) : 0 ) ; SOURCE(5789, 174) lab_L100018: ; if ((p_v5036 != 0)) { } else { goto lab_L100016; }; { word sMin_v9528; word sSize_v9556; SOURCE(5806, 29) sMin_v9528 = (* (ptr) p_v5036 ); SOURCE(5837, 30) { word pd80; word idx81; pd80 = (* (( (ptr) (* (( (ptr) gf_c24888)+92)/* var_c21880 */ ))+18) ); sSize_v9556 = ( idx81 = (word) ( *( (fPt) ((* (ptr) pd80 ))))((* (W4Pt) (p_v5036) ), pd80), SGNCK(idx81) ); }; SOURCE(5869, 42) if (( (int)sMin_v9528 > (int)s_v9484)) { SOURCE(5887, 24) runs_v5080 = (runs_v5080 + (sMin_v9528 - s_v9484)); }; SOURCE(5914, 16) s_v9484 = (sMin_v9528 + sSize_v9556); SOURCE(5932, 19) runs_v5080 = (runs_v5080 + sSize_v9556); SOURCE(5953, 10) p_v5036 = (* (( (ptr) p_v5036)+4) ); }; goto lab_L100018; lab_L100016: ; SOURCE(5658, 305) return(runs_v5080); } static word NewGeneration_P480(sizeLimit_v5504) word sizeLimit_v5504; { register ptr gf_c24920 = (ptr) &globalframe; word g_v5548; /* NewGeneration: */ SOURCE(6453, 138) SOURCE(6453, 138) g_v5548 = 0; SOURCE(6523, 56) { word var_c23288; word var_c23320; word var_c23352; { word pd82; pd82 = (* (( (ptr) (* (( (ptr) gf_c24920)+95)/* var_c23256 */ ))+8) ); var_c23288 = (word) ( *( (fPt) ((* (ptr) pd82 ))))(sizeLimit_v5504, pd82); }; var_c23320 = ((word) var_c23288 << 2); var_c23352 = XR_NewObject((8 + var_c23320), (* (( (ptr) gf_c24920)+18) )); (* (( (ptr) var_c23352)+1) ) = var_c23288; g_v5548 = var_c23352; }; SOURCE(6581, 10) (* (ptr) g_v5548 ) = 0; SOURCE(6453, 138) return(g_v5548); } static word Create_P540(param_v5608) W16 param_v5608; { register ptr gf_c24952 = (ptr) &globalframe; word new_v5652; word maxSize_v9600 = 1; word lgMaxSize_v9628 = 0; word parameters_v9656; /* Create: */ SOURCE(6597, 439) SOURCE(6597, 439) new_v5652 = 0; SOURCE(6712, 51) parameters_v9656 = XR_NewObject(64, (* (( (ptr) gf_c24952)+19) )); (* (W16Pt) parameters_v9656 ) = param_v5608; SOURCE(6765, 23) new_v5652 = XR_NewObject(40, (* (( (ptr) gf_c24952)+11) )); SOURCE(6790, 84) (* (( (ptr) new_v5652)+5) ) = XR_NewObject(1024, (* (( (ptr) gf_c24952)+20) )); SOURCE(6876, 27) (* (( (ptr) new_v5652)+6) ) = 0; SOURCE(6905, 22) (* (( (ptr) new_v5652)+7) ) = 0; SOURCE(6929, 27) (* (( (ptr) new_v5652)+4) ) = parameters_v9656; SOURCE(6958, 48) { word var_c23480; var_c23480 = (word) NewGeneration_P480((* (ptr) (parameters_v9656) )); (* (( (ptr) new_v5652)+8) ) = var_c23480; }; SOURCE(7008, 28) (* (( (ptr) new_v5652)+9) ) = (* (( (ptr) gf_c24952)+5)/* emptyGeneration_v3392 */ ); SOURCE(6597, 439) return(new_v5652); } static word Occupancy_P600(x_v5712) word x_v5712; { register ptr gf_c24984 = (ptr) &globalframe; word lst_v5756; /* Occupancy: */ SOURCE(7042, 349) (void) (XR_MonitorEntry(x_v5712)); SOURCE(7042, 349) lst_v5756 = 0; SOURCE(7121, 270) { register word i_v9748 = 1; lab_L100022: ; { word gen_v9792; word text_v9820; SOURCE(7156, 26) gen_v9792 = (* ((( (ptr) x_v5712)+8)+BCK(i_v9748, 2)) ); SOURCE(7184, 39) { word var_c23512; word var_c23544; word var_c23576; { word idx83; var_c23512 = ( idx83 = (* (( (ptr) gen_v9792)+1) ), BCK(idx83, 32768) ); }; var_c23544 = ((word) ((word) (var_c23512 + 3) >> 2) << 2); var_c23576 = XR_NewObject((4 + var_c23544), (* (( (ptr) gf_c24984)+21) )); (* (( (hPt) var_c23576)+1) ) = var_c23512; text_v9820 = var_c23576; }; SOURCE(7225, 107) { register word i_v9876 = 0; register word noName_c23608; word var_c23640; noName_c23608 = (* (( (ptr) gen_v9792)+1) ); if ((i_v9876 >= noName_c23608)) { goto lab_L100023; }; lab_L100026: ; SOURCE(7259, 73) { word limit84; { word limit85; var_c23640 = (* ((( (ptr) gen_v9792)+2)+( limit85 = (* (( (ptr) gen_v9792)+1) ), BCK(i_v9876, limit85) )) ); }; (* ((( (bPt) text_v9820)+4)+( limit84 = (word) (unsigned) (* (( (hPt) text_v9820)+1) ), BCK(i_v9876, limit84) )) ) = ( (var_c23640 == (* (( (ptr) gf_c24984)+4)/* nullCharMask_v3364 */ )) ? 88 : ( (var_c23640 == 0) ? 45 : 35 ) ) ; }; i_v9876 = (i_v9876 + 1); if ((i_v9876 < noName_c23608)) { goto lab_L100026; }; lab_L100023: ; }; SOURCE(7343, 25) { word idx86; (* (hPt) text_v9820 ) = ( idx86 = (* (( (ptr) gen_v9792)+1) ), BCK(idx86, 32768) ); }; SOURCE(7370, 21) { word var_c23672; var_c23672 = XR_NewObject(8, (* (( (ptr) gf_c24984)+22) )); (* (ptr) var_c23672 ) = text_v9820; (* (( (ptr) var_c23672)+1) ) = lst_v5756; lst_v5756 = var_c23672; }; }; if ((0 >= i_v9748)) { goto lab_L100019; }; i_v9748 = (i_v9748 - 1); goto lab_L100022; lab_L100019: ; }; SOURCE(7042, 349) (void) (XR_MonitorExit(x_v5712)); return(lst_v5756); } static word Size_P660(x_v5912) word x_v5912; { word var_c5956; /* Size: */ SOURCE(7406, 94) (void) (XR_MonitorEntry(x_v5912)); SOURCE(7463, 37) { word var_c23704; { word idx87; var_c23704 = ( idx87 = (word) ((* (ptr) (* (( (ptr) x_v5912)+8) ) ) + (* (ptr) (* (( (ptr) x_v5912)+9) ) )), SGNCK(idx87) ); }; (void) (XR_MonitorExit(x_v5912)); return(var_c23704); }; } static word Fetch_P720(x_v6016, font_v6044, char_v6072) word x_v6016; word font_v6044; word char_v6072; { word var_c6132; word c_v9920; /* Fetch: */ SOURCE(7504, 467) (void) (XR_MonitorEntry(x_v6016)); SOURCE(7599, 81) c_v9920 = (word) FetchInternal_P840((* (( (ptr) x_v6016)+8) ), font_v6044, char_v6072, 0); SOURCE(7682, 250) if ((c_v9920 == 0)) { SOURCE(7700, 70) c_v9920 = (word) FetchInternal_P840((* (( (ptr) x_v6016)+9) ), font_v6044, char_v6072, 1); SOURCE(7772, 160) if ((c_v9920 != 0)) { SOURCE(7790, 142) if ((0 == (word) StoreInternal_P1080((* (( (ptr) x_v6016)+8) ), c_v9920))) { SOURCE(7846, 9) (void) Dillon_P1140(x_v6016); SOURCE(7886, 46) { word var_c23736; var_c23736 = (word) StoreInternal_P1080((* (( (ptr) x_v6016)+8) ), c_v9920); }; }; }; }; SOURCE(7961, 10) (void) (XR_MonitorExit(x_v6016)); return(c_v9920); } static word HashCharAndFont_P780(char_v6276, font_v6304, mod_v6332) word char_v6276; word font_v6304; word mod_v6332; { register ptr gf_c25016 = (ptr) &globalframe; word var_c6388; W2 cf_v9964; /* HashCharAndFont: */ SOURCE(8049, 246) SOURCE(8134, 42) cf_v9964.f0 = char_v6276; cf_v9964.f1 = font_v6304; SOURCE(8186, 109) SOURCE(8188, 107) { word var_c0286; { W3 var_c23832; var_c23832.f0 = (word) &cf_v9964; var_c23832.f1 = 0; var_c23832.f2 = 8; { word pd88; pd88 = (* (( (ptr) (* (( (ptr) gf_c25016)+95)/* var_c23256 */ ))+7) ); var_c0286 = (word) ( *( (fPt) ((* (ptr) pd88 ))))(var_c23832, mod_v6332, pd88); }; }; return(var_c0286); }; } static word FetchInternal_P840(gen_v6448, font_v6476, char_v6504, remove_v6532) word gen_v6448; word font_v6476; word char_v6504; word remove_v6532; { register ptr gf_c25048 = (ptr) &globalframe; word var_c6588; word hash_v10008; word last_v10036; word c_v10064 = 0; /* FetchInternal: */ SOURCE(8302, 563) SOURCE(8426, 57) hash_v10008 = (word) HashCharAndFont_P780(char_v6504, font_v6476, (* (( (ptr) gen_v6448)+1) )); SOURCE(8485, 30) last_v10036 = ((* (( (ptr) gen_v6448)+1) ) - 1); SOURCE(8536, 211) lab_L100029: ; { word tc89; { word limit90; c_v10064 = (* ((( (ptr) gen_v6448)+2)+( limit90 = (* (( (ptr) gen_v6448)+1) ), BCK(hash_v10008, limit90) )) ); }; if ((c_v10064 != 0)) { if (((* (ptr) c_v10064 ) != font_v6476)) { tc89 = (word) 1; } else { tc89 = (word) ((* (( (ptr) c_v10064)+1) ) != char_v6504); }; } else { tc89 = (word) 0; }; if (tc89) { } else { goto lab_L100027; }; }; SOURCE(8598, 149) if ((hash_v10008 != 0)) { SOURCE(8613, 19) hash_v10008 = (hash_v10008 - 1); } else { SOURCE(8634, 41) if ((last_v10036 == (word) -1)) { SOURCE(8663, 12) return(0); }; SOURCE(8714, 11) hash_v10008 = last_v10036; SOURCE(8727, 20) last_v10036 = (word) -1; }; goto lab_L100029; lab_L100027: ; SOURCE(8772, 78) if ( ( (0 != remove_v6532) ? (c_v10064 != 0) : 0 ) ) { SOURCE(8801, 24) { word limit91; (* ((( (ptr) gen_v6448)+2)+( limit91 = (* (( (ptr) gen_v6448)+1) ), BCK(hash_v10008, limit91) )) ) = (* (( (ptr) gf_c25048)+4)/* nullCharMask_v3364 */ ); }; SOURCE(8827, 23) { word idx92; (* (ptr) gen_v6448 ) = ( idx92 = (word) ((* (ptr) gen_v6448 ) - 1), SGNCK(idx92) ); }; }; SOURCE(8855, 10) return(c_v10064); } static word GetParameters_P900(x_v6648) word x_v6648; { word var_c6692; /* GetParameters: */ SOURCE(8871, 89) SOURCE(8938, 22) return((* (( (ptr) x_v6648)+4) )); } static void UpdateParameters_P960(formal_c0300, formal_c0301) word formal_c0300; word formal_c0301; { W6 var_c25080; /* declaration of x_v6752 skipped */ /* declaration of action_v6780 skipped */ var_c25080.f4/* x_v6752 */ = formal_c0300; var_c25080.f5/* action_v6780 */ = formal_c0301; /* UpdateParameters: */ SOURCE(8964, 125) (void) (XR_MonitorEntry(var_c25080.f4/* x_v6752 */ )); SOURCE(9046, 43) { word var_c0287; var_c0287 = (word) &var_c25080; (void) (word) XR_Enable(( ((word) (fPt) NoName_Q3444) ), ( ((word) (fPt) NoName_Q3504) ), var_c0287); }; SOURCE(8964, 125) (void) (XR_MonitorExit(var_c25080.f4/* x_v6752 */ )); return; } static word NoName_Q3444(formal_c0276) word formal_c0276; { SOURCE(9069, 20) { word pd93; pd93 = (* (( (ptr) formal_c0276)+5) ); (void) ( *( (fPt) ((* (ptr) pd93 ))))((* ((( (ptr) (* (( (ptr) formal_c0276)+4) ))+4)) ), pd93); }; return(0); } static void Store_P1020(x_v6900, charMask_v6928) word x_v6900; word charMask_v6928; { /* Store: */ SOURCE(9095, 228) (void) (XR_MonitorEntry(x_v6900)); SOURCE(9167, 156) if ((0 == (word) StoreInternal_P1080((* (( (ptr) x_v6900)+8) ), charMask_v6928))) { SOURCE(9230, 9) (void) Dillon_P1140(x_v6900); SOURCE(9270, 53) { word var_c23864; var_c23864 = (word) StoreInternal_P1080((* (( (ptr) x_v6900)+8) ), charMask_v6928); }; }; SOURCE(9095, 228) (void) (XR_MonitorExit(x_v6900)); return; } static word StoreInternal_P1080(gen_v6988, charMask_v7016) word gen_v6988; word charMask_v7016; { word var_c7060; word hash_v10108; word last_v10136; word c_v10164 = 0; /* StoreInternal: */ SOURCE(9350, 645) SOURCE(9444, 75) hash_v10108 = (word) HashCharAndFont_P780((* (( (ptr) charMask_v7016)+1) ), (* (ptr) charMask_v7016 ), (* (( (ptr) gen_v6988)+1) )); SOURCE(9521, 30) last_v10136 = ((* (( (ptr) gen_v6988)+1) ) - 1); SOURCE(9572, 63) if (((* (ptr) gen_v6988 ) > ((* (( (ptr) gen_v6988)+1) ) - ((* (( (ptr) gen_v6988)+1) ) >> 2)))) { SOURCE(9621, 14) return(0); }; SOURCE(9656, 233) lab_L100034: ; { word tc94; { word limit95; c_v10164 = (* ((( (ptr) gen_v6988)+2)+( limit95 = (* (( (ptr) gen_v6988)+1) ), BCK(hash_v10108, limit95) )) ); }; if ((c_v10164 != 0)) { if (((* (ptr) c_v10164 ) != (* (ptr) charMask_v7016 ))) { tc94 = (word) 1; } else { tc94 = (word) ((* (( (ptr) c_v10164)+1) ) != (* (( (ptr) charMask_v7016)+1) )); }; } else { tc94 = (word) 0; }; if (tc94) { } else { goto lab_L100032; }; }; SOURCE(9738, 151) if ((hash_v10108 != 0)) { SOURCE(9753, 19) hash_v10108 = (hash_v10108 - 1); } else { SOURCE(9774, 43) if ((last_v10136 == (word) -1)) { SOURCE(9803, 14) return(0); }; SOURCE(9856, 11) hash_v10108 = last_v10136; SOURCE(9869, 20) last_v10136 = (word) -1; }; goto lab_L100034; lab_L100032: ; SOURCE(9914, 42) if ((c_v10164 == 0)) { SOURCE(9932, 24) (* (ptr) gen_v6988 ) = ((* (ptr) gen_v6988 ) + 1); }; SOURCE(9959, 20) { word limit96; (* ((( (ptr) gen_v6988)+2)+( limit96 = (* (( (ptr) gen_v6988)+1) ), BCK(hash_v10108, limit96) )) ) = charMask_v7016; }; SOURCE(9981, 14) return(1); } static void Dillon_P1140(x_v7120) word x_v7120; { register ptr gf_c25112 = (ptr) &globalframe; word newSize_v10208; /* Dillon: */ SOURCE(10147, 282) SOURCE(10188, 160) { word tc97; word x98; word pd99; word x100; float tf101; word idx102; if (((float)(unsigned)(* (ptr) (* (( (ptr) x_v7120)+9) ) ) < (float)(unsigned)(* (( (ptr) (* (( (ptr) x_v7120)+9) ))+1) ) * ( x98 = (* (( (ptr) gf_c25112)+6)/* discardRate_v3756 */ ), *(float*)&x98 ))) { pd99 = (* (( (ptr) (* (( (ptr) gf_c25112)+96)/* var_c23896 */ ))+7) ); tc97 = (word) ( idx102 = (word) ( *( (fPt) ((* (ptr) pd99 ))))(( tf101 = (float)(unsigned)(* (( (ptr) (* (( (ptr) x_v7120)+8) ))+1) ) * ( x100 = (* (( (ptr) gf_c25112)+7)/* growthFactor_v3784 */ ), *(float*)&x100 ), *(word*)&tf101 ), pd99), SGNCK(idx102) ); } else { tc97 = (word) (* (ptr) (* (( (ptr) x_v7120)+4) ) ); }; newSize_v10208 = tc97; }; SOURCE(10350, 23) (void) EraseInternal_P1200((* ((( (ptr) x_v7120)+9)) )); SOURCE(10375, 19) (* (( (ptr) x_v7120)+9) ) = (* (( (ptr) x_v7120)+8) ); SOURCE(10396, 33) { word var_c23928; var_c23928 = (word) NewGeneration_P480(newSize_v10208); (* (( (ptr) x_v7120)+8) ) = var_c23928; }; } static void EraseInternal_P1200(gen_v7180) word gen_v7180; { /* EraseInternal: */ SOURCE(10435, 119) SOURCE(10486, 54) { register word i_v10252 = 0; register word noName_c23960; { word idx103; noName_c23960 = ( idx103 = (* (( (ptr) gen_v7180)+1) ), SGNCK(idx103) ); }; if (( (int)i_v10252 >= (int)noName_c23960)) { goto lab_L100035; }; lab_L100038: ; SOURCE(10520, 20) { word limit104; (* ((( (ptr) gen_v7180)+2)+( limit104 = (* (( (ptr) gen_v7180)+1) ), BCK(i_v10252, limit104) )) ) = 0; }; i_v10252 = (i_v10252 + 1); if (( (int)i_v10252 < (int)noName_c23960)) { goto lab_L100038; }; lab_L100035: ; }; SOURCE(10542, 12) (* (ptr) gen_v7180 ) = 0; } static void Launder_P1260(x_v7240, keep_v7268) word x_v7240; word keep_v7268; { word list_v10296; /* Launder: */ SOURCE(10560, 291) SOURCE(10638, 6) list_v10296 = (word) GetList_P1380(x_v7240); SOURCE(10675, 8) (void) Flush_P1320(x_v7240); SOURCE(10685, 166) lab_L100041: ; if ((list_v10296 != 0)) { } else { goto lab_L100039; }; { word this_v10424; word next_v10452; SOURCE(10705, 27) this_v10424 = (* (ptr) list_v10296 ); SOURCE(10734, 6) next_v10452 = (* (( (ptr) list_v10296)+1) ); SOURCE(10770, 16) (* (ptr) list_v10296 ) = 0; SOURCE(10788, 15) (* (( (ptr) list_v10296)+1) ) = 0; SOURCE(10805, 11) list_v10296 = next_v10452; SOURCE(10818, 33) if ((0 != (word) ( *( (fPt) ((* (ptr) keep_v7268 ))))(this_v10424, keep_v7268))) { SOURCE(10837, 14) (void) Store_P1020(x_v7240, this_v10424); }; }; goto lab_L100041; lab_L100039: ; } static void Flush_P1320(x_v7432) word x_v7432; { register ptr gf_c25144 = (ptr) &globalframe; /* Flush: */ SOURCE(10866, 476) (void) (XR_MonitorEntry(x_v7432)); { word var_c24056; SOURCE(10910, 220) if ( ( ((* (( (ptr) x_v7432)+5) ) != 0) ? (0 == (* (( (ptr) x_v7432)+6) )) : 0 ) ) { SOURCE(10965, 25) { word var_c23992; var_c23992 = (* (( (ptr) x_v7432)+5) ); XR_FillWords(&(* (W256Pt) (var_c23992)), 256, 0); }; } else { SOURCE(10999, 25) (* (( (ptr) x_v7432)+6) ) = 0; SOURCE(11026, 82) (* (( (ptr) x_v7432)+5) ) = XR_NewObject(1024, (* (( (ptr) gf_c25144)+20) )); SOURCE(11110, 20) (* (( (ptr) x_v7432)+7) ) = 0; }; SOURCE(11135, 23) (void) EraseInternal_P1200((* ((( (ptr) x_v7432)+8)) )); SOURCE(11160, 23) (void) EraseInternal_P1200((* ((( (ptr) x_v7432)+9)) )); SOURCE(11185, 26) (* (( (ptr) x_v7432)+9) ) = (* (( (ptr) gf_c25144)+5)/* emptyGeneration_v3392 */ ); SOURCE(11213, 129) var_c24056 = (* (ptr) (* (( (ptr) x_v7432)+4) ) ); if ( ( (var_c24056 <= ((* (( (ptr) (* (( (ptr) x_v7432)+8) ))+1) ) >> 1)) ? 1 : (var_c24056 > (* (( (ptr) (* (( (ptr) x_v7432)+8) ))+1) )) ) ) { SOURCE(11294, 48) { word var_c24088; var_c24088 = (word) NewGeneration_P480((* (ptr) ((* (( (ptr) x_v7432)+4) )) )); (* (( (ptr) x_v7432)+8) ) = var_c24088; }; }; }; SOURCE(10866, 476) (void) (XR_MonitorExit(x_v7432)); return; } static word GetList_P1380(x_v7492) word x_v7492; { register ptr gf_c25176 = (ptr) &globalframe; word list_v7536; /* GetList: */ SOURCE(11351, 253) (void) (XR_MonitorEntry(x_v7492)); SOURCE(11351, 253) list_v7536 = 0; SOURCE(11436, 168) { register word g_v10628 = 0; lab_L100045: ; { word gen_v10692; SOURCE(11463, 26) gen_v10692 = (* ((( (ptr) x_v7492)+8)+g_v10628) ); SOURCE(11491, 113) { register word i_v10736 = 0; register word noName_c24120; { word idx105; noName_c24120 = ( idx105 = (* (( (ptr) gen_v10692)+1) ), SGNCK(idx105) ); }; if (( (int)i_v10736 >= (int)noName_c24120)) { goto lab_L100046; }; lab_L100049: ; { word c_v10780; SOURCE(11525, 20) { word limit106; c_v10780 = (* ((( (ptr) gen_v10692)+2)+( limit106 = (* (( (ptr) gen_v10692)+1) ), BCK(i_v10736, limit106) )) ); }; SOURCE(11547, 57) if ( ( (c_v10780 != 0) ? (c_v10780 != (* (( (ptr) gf_c25176)+4)/* nullCharMask_v3364 */ )) : 0 ) ) { SOURCE(11584, 20) { word var_c24152; var_c24152 = XR_NewObject(8, (* (( (ptr) gf_c25176)+25) )); (* (ptr) var_c24152 ) = c_v10780; (* (( (ptr) var_c24152)+1) ) = list_v7536; list_v7536 = var_c24152; }; }; }; i_v10736 = (i_v10736 + 1); if (( (int)i_v10736 < (int)noName_c24120)) { goto lab_L100049; }; lab_L100046: ; }; }; if ((g_v10628 >= 1)) { goto lab_L100042; }; g_v10628 = (g_v10628 + 1); goto lab_L100045; lab_L100042: ; }; SOURCE(11351, 253) (void) (XR_MonitorExit(x_v7492)); return(list_v7536); } static word GetNamedCache_P1440(atom_v7680) word atom_v7680; { register ptr gf_c25208 = (ptr) &globalframe; word r_v7724; /* GetNamedCache: */ SOURCE(11628, 183) SOURCE(11628, 183) r_v7724 = 0; SOURCE(11695, 44) { W2 var_c0233; word var_c0288; { word pd107; pd107 = (* (( (ptr) (* (( (ptr) gf_c25208)+91)/* var_c21816 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd107 ))))((word) &var_c0233, (* (( (ptr) gf_c25208)+8)/* cacheTab_v4008 */ ), atom_v7680, pd107) ; }; var_c0288 = var_c0233.f1; r_v7724 = XR_Narrow(var_c0288, (* (( (ptr) gf_c25208)+11) )); }; SOURCE(11741, 70) if ((r_v7724 == 0)) { SOURCE(11759, 14) { W16 var_c24184; (* (ptr) &var_c24184 ) = 4000; (* (( (ptr) &var_c24184)+1) ) = XR_CheckProc(0); (* (( (ptr) &var_c24184)+2) ) = (* (ptr) &fc108 ); (* (( (ptr) &var_c24184)+3) ) = (* (ptr) &fc109 ); (* (( (ptr) &var_c24184)+4) ) = (* (ptr) &fc108 ); (* (( (ptr) &var_c24184)+5) ) = (* (ptr) &fc109 ); (* (( (ptr) &var_c24184)+6) ) = (* (ptr) &fc109 ); (* (( (ptr) &var_c24184)+7) ) = (* (ptr) &fc110 ); (* (( (ptr) &var_c24184)+8) ) = (* (ptr) &fc108 ); (* (( (ptr) &var_c24184)+9) ) = (* (ptr) &fc109 ); (* (( (ptr) &var_c24184)+10) ) = (* (ptr) &fc109 ); (* (( (ptr) &var_c24184)+11) ) = (* (ptr) &fc109 ); (* (( (ptr) &var_c24184)+12) ) = (* (ptr) &fc109 ); (* (( (ptr) &var_c24184)+13) ) = 0; (* (( (ptr) &var_c24184)+14) ) = 0; (* (( (ptr) &var_c24184)+15) ) = 0; r_v7724 = (word) Create_P540(var_c24184); }; SOURCE(11775, 36) { word var_c24216; word pd111; pd111 = (* (( (ptr) (* (( (ptr) gf_c25208)+91)/* var_c21816 */ ))+9) ); var_c24216 = (word) ( *( (fPt) ((* (ptr) pd111 ))))((* (( (ptr) gf_c25208)+8)/* cacheTab_v4008 */ ), atom_v7680, r_v7724, pd111) ; }; }; SOURCE(11628, 183) return(r_v7724); } static void SetNamedCacheParameters_P1500(formal_c0238) word formal_c0238; { register ptr gf_c25240 = (ptr) &globalframe; word r_v10824; /* SetNamedCacheParameters: */ SOURCE(11820, 309) SOURCE(11892, 55) { W2 var_c0240; word var_c0289; { word pd112; pd112 = (* (( (ptr) (* (( (ptr) gf_c25240)+91)/* var_c21816 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd112 ))))((word) &var_c0240, (* (( (ptr) gf_c25240)+8)/* cacheTab_v4008 */ ), (* (ptr) formal_c0238/* atom_v7784 */ ), pd112) ; }; var_c0289 = var_c0240.f1; r_v10824 = XR_Narrow(var_c0289, (* (( (ptr) gf_c25240)+11) )); }; SOURCE(11949, 180) if ((r_v10824 == 0)) { SOURCE(11967, 13) r_v10824 = (word) Create_P540((* (W16Pt) ((( (ptr) formal_c0238)+1)/* p_v7812 */ ) )); SOURCE(11982, 36) { word var_c24248; word pd113; pd113 = (* (( (ptr) (* (( (ptr) gf_c25240)+91)/* var_c21816 */ ))+9) ); var_c24248 = (word) ( *( (fPt) ((* (ptr) pd113 ))))((* (( (ptr) gf_c25240)+8)/* cacheTab_v4008 */ ), (* (ptr) formal_c0238/* atom_v7784 */ ), r_v10824, pd113) ; }; } else { SOURCE(12027, 104) SOURCE(12094, 35) if (((* (( (ptr) r_v10824)+4) ) != 0)) { SOURCE(12121, 8) { word x_v20744; x_v20744 = r_v10824; SOURCE(12121, 8) (void) (XR_MonitorEntry(x_v20744)); SOURCE(12073, 18) (* (W16Pt) (* (( (ptr) x_v20744)+4) ) ) = (* (W16Pt) (( (ptr) formal_c0238)+1)/* p_v7812 */ ); (void) (XR_MonitorExit(x_v20744)); }; }; }; } static void FlushAll_P1560() { W6 var_c25272; register ptr gf_c25304 = (ptr) &globalframe; /* declaration of var_c24280 skipped */ /* FlushAll: */ SOURCE(12179, 140) { word tmpAddr114; tmpAddr114 = (word) (( (ptr) &var_c25272)+4)/* var_c24280 */ ; (* (ptr) tmpAddr114 ) = ( ((word) (fPt) epa_P3024) ); (* (( (ptr) tmpAddr114) + 1) ) = 1; }; SOURCE(12287, 32) { word var_c24312; word pd115; pd115 = (* (( (ptr) (* (( (ptr) gf_c25304)+91)/* var_c21816 */ ))+13) ); var_c24312 = (word) ( *( (fPt) ((* (ptr) pd115 ))))((* (( (ptr) gf_c25304)+8)/* cacheTab_v4008 */ ), (word) (( (bPt) &var_c25272)+16) /* var_c24280 */ , pd115); }; } static word epa_P3024(key_v11048, val_v11076, formal_c25368) word key_v11048; word val_v11076; word formal_c25368; { register ptr gf_c25336 = (ptr) &globalframe; word quit_v11132; formal_c25368 = (formal_c25368 - 16); /* epa: */ SOURCE(12208, 76) SOURCE(12208, 76) quit_v11132 = 0; SOURCE(12266, 18) { word var_c24344; var_c24344 = XR_Narrow(val_v11076, (* (( (ptr) gf_c25336)+11) )); (void) Flush_P1320(var_c24344); }; SOURCE(12208, 76) return(quit_v11132); } static word ObtainSmallCache_P1620(x_v7888) word x_v7888; { register ptr gf_c25400 = (ptr) &globalframe; word var_c7932; /* ObtainSmallCache: */ SOURCE(12417, 483) (void) (XR_MonitorEntry(x_v7888)); SOURCE(12493, 290) if ((0 != (* (( (ptr) x_v7888)+6) ))) { SOURCE(12521, 39) (* (( (ptr) x_v7888)+7) ) = ((* (( (ptr) x_v7888)+7) ) + 1); SOURCE(12562, 221) if (((* (( (ptr) x_v7888)+7) ) > (* (( (ptr) gf_c25400)+9)/* smallCacheFailLimit_v4064 */ ))) { SOURCE(12611, 82) (* (( (ptr) x_v7888)+5) ) = XR_NewObject(1024, (* (( (ptr) gf_c25400)+20) )); SOURCE(12695, 25) (* (( (ptr) x_v7888)+6) ) = 0; SOURCE(12722, 61) (* (( (ptr) gf_c25400)+10)/* smallCacheFailureRecoveries_v4092 */ ) = ((* (( (ptr) gf_c25400)+10)/* smallCacheFailureRecoveries_v4092 */ ) + 1); }; }; SOURCE(12791, 38) if ((0 != (* (( (ptr) x_v7888)+6) ))) { SOURCE(12817, 12) (void) (XR_MonitorExit(x_v7888)); return(0); }; SOURCE(12831, 24) (* (( (ptr) x_v7888)+6) ) = 1; SOURCE(12857, 20) (* (( (ptr) x_v7888)+7) ) = 0; SOURCE(12879, 21) { word var_c24408; var_c24408 = (* (( (ptr) x_v7888)+5) ); (void) (XR_MonitorExit(x_v7888)); return(var_c24408); }; } static void ReleaseSmallCache_P1680(x_v7992, s_v8020) word x_v7992; word s_v8020; { /* ReleaseSmallCache: */ SOURCE(12906, 185) (void) (XR_MonitorEntry(x_v7992)); SOURCE(12977, 114) if ( ( (0 != (* (( (ptr) x_v7992)+6) )) ? ((* (( (ptr) x_v7992)+5) ) == s_v8020) : 0 ) ) { SOURCE(13026, 26) (* (( (ptr) x_v7992)+6) ) = 0; } else { SOURCE(13061, 30) if ((s_v8020 != 0)) { SOURCE(13077, 14) XR_FillWords(&(* (W256Pt) (s_v8020)), 256, 0); }; }; SOURCE(12906, 185) (void) (XR_MonitorExit(x_v7992)); return; } static void NoName_Q3504(formal_c0258, formal_c200000, formal_c200001, formal_c200002, formal_c200003) word formal_c0258; word formal_c200000; word formal_c200001; word formal_c200002; word formal_c200003; { if ((formal_c200001 == XR_Unwind)) { (void) (XR_MonitorExit(* (( (ptr) formal_c200000)+4) )); }; (* (ptr) formal_c0258 ) = 0; (* (( (ptr) formal_c0258)+1) ) = 0; return; } /* file: ImagerMaskCacheImpl, module: ImagerMaskCacheImpl, compiled at: July 28, 1993 10:20:29 am PDT */ extern void XR_install_ImagerMaskCacheImpl() { NoName_Q3384(); } extern void XR_run_ImagerMaskCacheImpl() { XR_Start(&globalframe); }