/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */ /* time: February 21, 1992 4:26:06 pm PST */ /* C2C version: October 16, 1990 (native) */ /* ref-counting: off */ /* file: FinalizationImpl, module: FinalizationImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [4148406558,3787425269] FinalizationImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; #define SOURCE(p, l) /* source p, l */ static void NoName←Q600(); static void FinalizationImpl←P0(); static word NewFQ←P60(); static word FQEmpty←P120(); static word FQNextNoAbort←P180(); static word FQNext←P240(); static word EnableFinalization←P300(); static word DisableFinalization←P360(); static word ReenableFinalization←P420(); static word GetFinalizationState←P480(); static word HandleToObject←P540(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\367\103\251\036\300\341\277\205\365\100\164\000\000"}; static struct {unsigned f; char r[4];} string2 = {131074, "\004\014\000"}; static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\367\103\251\036\300\341\277\205\365\100\150\000\000"}; static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\247\301\054\125\300\015\075\063\112\100\150\000\000"}; static struct {unsigned f; char r[32];} string5 = {1966112, "\211\022\021\106\151\156\141\154\151\172\141\142\154\145\117\142\152\145\143\164\300\247\301\054\125\300\015\075\063\112\000"}; static struct {unsigned f; char r[36];} string6 = {2162724, "\211\025\024\106\151\156\141\154\151\172\141\164\151\157\156\121\165\145\165\145\122\145\160\300\247\301\054\125\300\015\075\063\112\000\000"}; static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\367\103\251\036\300\341\277\205\365\100\200\000\000"}; static struct {unsigned f; char r[4];} string8 = {131074, "\004\003\000"}; static struct { word f0[6]; word f6; word f7; word f8; word f9; word f10; word f11; word f12; word f13; word f14; word f15; word f16; word f17; word f18; word f19; word f20; word f21; word f22; word f23; word f24; word f25[2]; } globalframe = { {0}, (word) HandleToObject←P540, 0, (word) GetFinalizationState←P480, 0, (word) ReenableFinalization←P420, 0, (word) DisableFinalization←P360, 0, (word) EnableFinalization←P300, 0, (word) FQNext←P240, 0, (word) FQNextNoAbort←P180, 0, (word) FQEmpty←P120, 0, (word) NewFQ←P60, 0, (word) FinalizationImpl←P0, {0} }; static void NoName←Q600() { register ptr gf←c036 = (ptr) &globalframe; word var←c6144; (* (( (ptr) gf←c036)+4) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (void) XR←DeclareGlobalFrame((word) "FinalizationImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string3)), (word) ( ( (bPt) gf←c036)+96)/* var←c5824 */ ); var←c6144 = (word) XR←ExportInterface((word) "Finalization", (word) XR←GetTypeIndexS((word) (&string4)), 11); (* (( (ptr) gf←c036)+26)/* var←c6112 */ ) = var←c6144; (void) XR←ExportType((word) "FinalizableObject", (word) XR←GetTypeIndexS((word) (&string5)), (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2) ); (void) XR←ExportType((word) "FinalizationQueueRep", (word) XR←GetTypeIndexS((word) (&string6)), (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8) ); (void) XR←ExportProcS(var←c6144, (word) (( (bPt) gf←c036)+56)/* var←c5664 */ , 67633666); (void) XR←ExportProcS(var←c6144, (word) (( (bPt) gf←c036)+48)/* var←c5632 */ , 67371777); (void) XR←ExportProcS(var←c6144, (word) (( (bPt) gf←c036)+40)/* var←c5600 */ , 67634178); (void) XR←ExportProcS(var←c6144, (word) (( (bPt) gf←c036)+32)/* var←c5568 */ , 67372289); (void) XR←ExportProcS(var←c6144, (word) (( (bPt) gf←c036)+24)/* var←c5536 */ , 67372545); (void) XR←ExportProcS(var←c6144, (word) (( (bPt) gf←c036)+88)/* var←c5792 */ , 67110656); (void) XR←ExportProcS(var←c6144, (word) (( (bPt) gf←c036)+64)/* var←c5696 */ , 67373057); (void) XR←ExportProcS(var←c6144, (word) (( (bPt) gf←c036)+72)/* var←c5728 */ , 67373313); (void) XR←ExportProcS(var←c6144, (word) (( (bPt) gf←c036)+80)/* var←c5760 */ , 67373569); } static void FinalizationImpl←P0(formal←c015, formal←c014) word formal←c015; word formal←c014; { /* FinalizationImpl: */ } static word NewFQ←P60() { word var←c3104; /* NewFQ: */ SOURCE(528, 151) SOURCE(660, 19) return((word) XR←NewFQ()); } static word FQEmpty←P120(fq←v3164) word fq←v3164; { word var←c3208; /* FQEmpty: */ SOURCE(685, 182) SOURCE(843, 24) return((word) XR←FQEmpty(fq←v3164)); } static word FQNextNoAbort←P180(fq←v3268) word fq←v3268; { word handle←v3312; /* FQNextNoAbort: */ SOURCE(873, 226) SOURCE(873, 226) handle←v3312 = 0; SOURCE(1069, 30) return((word) XR←FQNextNoAbort(fq←v3268)); } static word FQNext←P240(fq←v3372) word fq←v3372; { word handle←v3416; /* FQNext: */ SOURCE(1105, 257) SOURCE(1105, 257) handle←v3416 = 0; SOURCE(1300, 26) handle←v3416 = (word) FQNextNoAbort←P180(fq←v3372); SOURCE(1328, 34) if ((handle←v3416 == 0)) { SOURCE(1349, 13) (void) XR←RaiseError(XR←Aborted, 0); }; SOURCE(1105, 257) return(handle←v3416); } static word EnableFinalization←P300(object←v3476, fq←v3504) word object←v3476; word fq←v3504; { register ptr gf←c6176 = (ptr) &globalframe; word handle←v3564; /* EnableFinalization: */ SOURCE(1367, 322) SOURCE(1367, 322) handle←v3564 = 0; SOURCE(1597, 50) { word var←c5952; var←c5952 = XR←NewObject(16, (* (( (ptr) gf←c6176)+4) )); (* (( (ptr) var←c5952)+2) ) = fq←v3504; handle←v3564 = var←c5952; }; SOURCE(1649, 40) (void) XR←EnableFinalization(object←v3476, fq←v3504, handle←v3564); SOURCE(1367, 322) return(handle←v3564); } static word DisableFinalization←P360(handle←v3624) word handle←v3624; { word oldState←v3668; /* DisableFinalization: */ SOURCE(1695, 267) SOURCE(1923, 39) return((word) XR←DisableFinalization(handle←v3624)); } static word ReenableFinalization←P420(handle←v3728, fq←v3756) word handle←v3728; word fq←v3756; { word oldState←v3800; /* ReenableFinalization: */ SOURCE(1968, 321) SOURCE(2245, 44) return((word) XR←ReenableFinalization(handle←v3728, fq←v3756)); } static word GetFinalizationState←P480(handle←v3860) word handle←v3860; { word state←v3904; /* GetFinalizationState: */ SOURCE(2295, 265) SOURCE(2520, 40) return((word) XR←GetFinalizationState(handle←v3860)); } static word HandleToObject←P540(handle←v3964) word handle←v3964; { word object←v4008; /* HandleToObject: */ SOURCE(2566, 215) SOURCE(2566, 215) object←v4008 = 0; SOURCE(2747, 34) return((word) XR←HandleToObject(handle←v3964)); } /* file: FinalizationImpl, module: FinalizationImpl, compiled at: February 21, 1992 4:26:06 pm PST */ extern void XR←install←FinalizationImpl() { NoName←Q600(); } extern void XR←run←FinalizationImpl() { XR←Start(&globalframe); }