/* DO NOT EDIT THIS FILE - it is machine generated (JCGO_116) */ #ifdef JCGO_SEPARATED #define JCGO_116 #include "jcgortl.h" #include "Main.h" #endif #ifdef JCGO_116 #ifdef CHKALL_java_lang_VMRuntime #include "jcgobchk.h" #endif JCGO_NOSEP_STATIC java_lang_VMRuntime_FinalizerThread CFASTCALL java_lang_VMRuntime_FinalizerThread__this__ZLsI( java_lang_VMRuntime_FinalizerThread This, java_lang_String name, jint priority, jboolean noWait ) { { (java_lang_Thread__this__L40aspLsIZ((java_lang_Thread)This, (java_lang_VMThread)jnull, name, priority, (jboolean)jtrue)); (java_lang_VMThread__rootGroupAdd__L20uxk( (java_lang_Thread)This)); JCGO_FIELD_NZACCESS(This, noWait)= (jboolean)noWait; } return This; } JCGO_NOSEP_INLINE java_lang_VMRuntime_FinalizerThread CFASTCALL java_lang_VMRuntime_FinalizerThread__new__ZLsI( java_lang_String name, jint priority, jboolean noWait ) { return java_lang_VMRuntime_FinalizerThread__this__ZLsI( (java_lang_VMRuntime_FinalizerThread)jcgo_newObject((jvtable)&java_lang_VMRuntime_FinalizerThread_methods), name, priority, noWait); } JCGO_NOSEP_INLINE void CFASTCALL java_lang_VMRuntime_FinalizerThread__changeStalledFinalizer__( java_lang_VMRuntime_FinalizerThread This ) { { jint threadNum; { JCGO_SYNC_BLOCKSAFENZ(java_lang_VMRuntime_FinalizerThread__lock) { if (JCGO_FIELD_NZACCESS(This, noWait)) { #ifndef JCGO_SEHTRY JCGO_SYNC_JUMPLEAVE(0); #endif return; } threadNum= ++java_lang_VMRuntime_FinalizerThread__stalledThreadCnt; } JCGO_SYNC_END } if ((java_lang_VMRuntime_FinalizerThread__createFinalizer__())) { java_lang_VMThread vt; if ((vt= JCGO_VLT_LFETCH(java_lang_VMThread, JCGO_FIELD_NZACCESS(This, vmThread))) != jnull) { (java_lang_VMThread__setName__Ls( vt, (java_lang_String__concat__Ls( JCGO_STRREF_OF(jcgo_string3_FnlzrThr), (java_lang_String__valueOf__I( threadNum)))))); (java_lang_VMThread__setPriority__I( vt, java_lang_Thread__MIN_PRIORITY)); } } } } JCGO_NOSEP_STATIC void CFASTCALL java_lang_VMRuntime_FinalizerThread__run__( java_lang_VMRuntime_FinalizerThread This ) { { { JCGO_SYNC_BLOCKSAFENZ(java_lang_VMRuntime_FinalizerThread__lock) { JCGO_FIELD_NZACCESS(This, runFinalizeCount)= java_lang_VMRuntime_FinalizerThread__notifyCount; } JCGO_SYNC_END } do { { JCGO_TRY_BLOCK { do { (java_lang_VMRuntime__runFinalization0__()); { JCGO_SYNC_BLOCKSAFENZ(java_lang_VMRuntime_FinalizerThread__lock) { if (JCGO_FIELD_NZACCESS(This, noWait)) { #ifndef JCGO_SEHTRY JCGO_SYNC_JUMPLEAVE(0); jcgo_tryLeave(); #endif return; } if (JCGO_FIELD_NZACCESS(This, runFinalizeCount) == java_lang_VMRuntime_FinalizerThread__notifyCount) { (java_lang_VMThread__wait__LoJI( (java_lang_Object)java_lang_VMRuntime_FinalizerThread__lock, JLONG_C(0), 0)); } JCGO_FIELD_NZACCESS(This, runFinalizeCount)= java_lang_VMRuntime_FinalizerThread__notifyCount; } JCGO_SYNC_END } } while (jtrue); } JCGO_TRY_LEAVE JCGO_TRY_CATCHES(1) JCGO_TRY_CATCH(OBJT_java_lang_InterruptedException, MAXT_java_lang_InterruptedException) { } JCGO_TRY_RETHROW(1) } } while (jtrue); } } JCGO_NOSEP_FRWINL jboolean CFASTCALL java_lang_VMRuntime_FinalizerThread__runFinalization__( java_lang_VMRuntime_FinalizerThread This ) { { java_lang_Thread thread; jint threadNum; jObject jcgo_rcvrL1; { JCGO_SYNC_BLOCKSAFENZ(java_lang_VMRuntime_FinalizerThread__lock) { threadNum= ++java_lang_VMRuntime_FinalizerThread__secondaryThreadCnt; } JCGO_SYNC_END } thread= (java_lang_Thread)(jcgo_rcvrL1= (jObject)(java_lang_String__concat__Ls( JCGO_STRREF_OF(jcgo_string4_FnlzrThr), (java_lang_String__valueOf__I( threadNum)))), java_lang_VMRuntime_FinalizerThread__new__ZLsI( (java_lang_String)jcgo_rcvrL1, (java_lang_Thread__getPriority__( (java_lang_Thread__currentThread__()))), (jboolean)jtrue)); { JCGO_TRY_BLOCK { (java_lang_Thread__start__( thread)); } JCGO_TRY_LEAVE JCGO_TRY_CATCHES(1) JCGO_TRY_CATCH(OBJT_java_lang_OutOfMemoryError, MAXT_java_lang_OutOfMemoryError) { return (jboolean)jfalse; } JCGO_TRY_RETHROW(1) } { JCGO_TRY_BLOCK { (java_lang_Thread__join__( thread)); } JCGO_TRY_LEAVE JCGO_TRY_CATCHES(2) JCGO_TRY_CATCH(OBJT_java_lang_InterruptedException, MAXT_java_lang_InterruptedException) { } JCGO_TRY_RETHROW(2) } return (jboolean)jtrue; } } JCGO_NOSEP_STATIC jboolean CFASTCALL java_lang_VMRuntime_FinalizerThread__createFinalizer__( void ) { { java_lang_VMRuntime_FinalizerThread thread; thread= (java_lang_VMRuntime_FinalizerThread__new__ZLsI( JCGO_STRREF_OF(jcgo_string5_FnlzrThr), java_lang_Thread__MAX_PRIORITY - (jint)1, (jboolean)jfalse)); { JCGO_SYNC_BLOCKSAFENZ(java_lang_VMRuntime_FinalizerThread__lock) { java_lang_VMRuntime_FinalizerThread fnlz; { JCGO_TRY_BLOCK { (java_lang_Thread__start__( (java_lang_Thread)thread)); } JCGO_TRY_LEAVE JCGO_TRY_CATCHES(1) JCGO_TRY_CATCH(OBJT_java_lang_OutOfMemoryError, MAXT_java_lang_OutOfMemoryError) { #ifndef JCGO_SEHTRY JCGO_SYNC_JUMPLEAVE(0); #endif return (jboolean)jfalse; } JCGO_TRY_RETHROW(1) } fnlz= java_lang_VMRuntime__finalizerThread; java_lang_VMRuntime__finalizerThread= thread; if (fnlz != jnull) { JCGO_FIELD_NZACCESS(fnlz, noWait)= (jboolean)jtrue; } } JCGO_SYNC_END } return (jboolean)jtrue; } } JCGO_NOSEP_FRWINL void CFASTCALL java_lang_VMRuntime_FinalizerThread__notifyFinalizer__( java_lang_VMRuntime_FinalizerThread This ) { { java_lang_VMRuntime_FinalizerThread fnlz; { JCGO_SYNC_BLOCKSAFENZ(java_lang_VMRuntime_FinalizerThread__lock) { jint curNotifyCount; curNotifyCount= ++java_lang_VMRuntime_FinalizerThread__notifyCount; (java_lang_VMThread__notify__LoZ( (java_lang_Object)java_lang_VMRuntime_FinalizerThread__lock, (jboolean)jtrue)); if ((fnlz= java_lang_VMRuntime__finalizerThread) == jnull || curNotifyCount - JCGO_FIELD_NZACCESS(fnlz, runFinalizeCount) <= java_lang_VMRuntime_FinalizerThread__MAX_NOTIFY_COUNT_DELTA || (java_lang_Thread__currentThread__()) == (java_lang_Thread)fnlz) { #ifndef JCGO_SEHTRY JCGO_SYNC_JUMPLEAVE(0); #endif return; } JCGO_FIELD_NZACCESS(fnlz, runFinalizeCount)= curNotifyCount - (jint)1; } JCGO_SYNC_END } { JCGO_TRY_BLOCK { (java_lang_VMRuntime_FinalizerThread__changeStalledFinalizer__( fnlz)); } JCGO_TRY_LEAVE JCGO_TRY_CATCHES(1) JCGO_TRY_CATCH(OBJT_java_lang_OutOfMemoryError, MAXT_java_lang_OutOfMemoryError) { } JCGO_TRY_RETHROW(1) } } } JCGO_NOSEP_DATA CONST struct java_lang_VMRuntime_FinalizerThread_methods_s java_lang_VMRuntime_FinalizerThread_methods= { JCGO_CLASSREF_OF(java_lang_VMRuntime_FinalizerThread__class), JCGO_GCJDESCR_INIT(java_lang_VMRuntime_FinalizerThread_s, locals) OBJT_java_lang_VMRuntime_FinalizerThread, (JCGO_OBJSIZE_T)sizeof(struct java_lang_VMRuntime_FinalizerThread_s), NULL, JCGO_CLINIT_INIT(0) 0, java_lang_Object__equals__Lo, java_lang_Object__hashCode__, java_lang_Thread__toString__, java_lang_Object__finalize__, java_lang_VMRuntime_FinalizerThread__run__ }; JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_VMRuntime_FinalizerThread_class_s java_lang_VMRuntime_FinalizerThread__class JCGO_THRD_ATTRNONGC= { { &java_lang_Class_methods, JCGO_MON_INIT JCGO_OBJREF_OF(*(java_lang_Object)&java_lang_VMRuntime_FinalizerThread_methods), JCGO_STRREF_OF(jcgo_string1_FnlzrThr), JCGO_CLASSREF_OF(java_lang_Thread__class), ((jObjectArr)JCGO_OBJREF_OF(jcgo_array3_Object)), 0x11a } }; JCGO_NOSEP_DATA jint java_lang_VMRuntime_FinalizerThread__stalledThreadCnt= (jint)0; JCGO_NOSEP_DATA jint java_lang_VMRuntime_FinalizerThread__secondaryThreadCnt= (jint)0; JCGO_NOSEP_DATA jint java_lang_VMRuntime_FinalizerThread__notifyCount= (jint)0; JCGO_NOSEP_DATA JCGO_NOTHR_CONST jcgo_arrtype2_GameMdl jcgo_array2_FnlzrThr JCGO_THRD_ATTRNONGC= { (jvtable)&jObjectArr_methods, JCGO_MON_INIT 0, JCGO_CLASSREF_OF(java_lang_Object__class), { jnull } }; JCGO_NOSEP_DATA CONST jcgo_arrtype82_GmCnnctn jcgo_array6_FnlzrThr= { (jvtable)&jbyteArr_methods, JCGO_MON_INIT 18, { (jbyte)(jchar)83/*'S'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)108/*'l'*/, (jbyte)(jchar)108/*'l'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)70/*'F'*/, (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)108/*'l'*/, (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)122/*'z'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)45/*'-'*/ } }; JCGO_NOSEP_DATA CONST jcgo_arrtype23_Object jcgo_array7_FnlzrThr= { (jvtable)&jbyteArr_methods, JCGO_MON_INIT 20, { (jbyte)(jchar)83/*'S'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)99/*'c'*/, (jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)121/*'y'*/, (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)102/*'f'*/, (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)108/*'l'*/, (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)122/*'z'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)45/*'-'*/ } }; JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string1_FnlzrThr JCGO_THRD_ATTRNONGC= { &java_lang_String_methods, JCGO_MON_INIT (java_lang_Object)JCGO_OBJREF_OF(jcgo_array4_VMRntm), 0, 35, (jint)0xbda65ee7L }; JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string3_FnlzrThr JCGO_THRD_ATTRNONGC= { &java_lang_String_methods, JCGO_MON_INIT (java_lang_Object)JCGO_OBJREF_OF(jcgo_array6_FnlzrThr), 0, 18, (jint)0xb2c8955aL }; JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string4_FnlzrThr JCGO_THRD_ATTRNONGC= { &java_lang_String_methods, JCGO_MON_INIT (java_lang_Object)JCGO_OBJREF_OF(jcgo_array7_FnlzrThr), 0, 20, (jint)0xdeb3c4e5L }; JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string5_FnlzrThr JCGO_THRD_ATTRNONGC= { &java_lang_String_methods, JCGO_MON_INIT (java_lang_Object)JCGO_OBJREF_OF(jcgo_array6_FnlzrThr), 8, 9, (jint)0x8ca8c7f4L }; #ifdef CHKALL_java_lang_VMRuntime #include "jcgochke.h" #endif #endif