#include "xmlvm.h" #include "java_io_PrintStream.h" #include "java_lang_Class.h" #include "java_lang_ClassLoader.h" #include "java_lang_Long.h" #include "java_lang_StackTraceElement.h" #include "java_lang_String.h" #include "java_lang_StringBuilder.h" #include "java_lang_System.h" #include "java_lang_Thread_State.h" #include "java_lang_Thread_UncaughtExceptionHandler.h" #include "java_lang_ThreadGroup.h" #include "java_lang_Throwable.h" #include "java_util_HashMap.h" #include "java_util_Map.h" #include "org_xmlvm_runtime_Condition.h" #include "org_xmlvm_runtime_Mutex.h" #include "java_lang_Thread.h" #define XMLVM_CURRENT_CLASS_NAME Thread #define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Thread __TIB_DEFINITION_java_lang_Thread __TIB_java_lang_Thread = { 0, // classInitializationBegan 0, // classInitialized -1, // initializerThreadId __INIT_java_lang_Thread, // classInitializer "java.lang.Thread", // className "java.lang", // package JAVA_NULL, // enclosingClassName JAVA_NULL, // enclosingMethodName JAVA_NULL, // signature (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends sizeof(java_lang_Thread), // sizeInstance XMLVM_TYPE_CLASS}; JAVA_OBJECT __CLASS_java_lang_Thread; JAVA_OBJECT __CLASS_java_lang_Thread_1ARRAY; JAVA_OBJECT __CLASS_java_lang_Thread_2ARRAY; JAVA_OBJECT __CLASS_java_lang_Thread_3ARRAY; //XMLVM_BEGIN_IMPLEMENTATION //XMLVM_END_IMPLEMENTATION static JAVA_OBJECT _STATIC_java_lang_Thread_threadSafetyMutex; static JAVA_LONG _STATIC_java_lang_Thread_nextThreadId; static JAVA_INT _STATIC_java_lang_Thread_numberOfActiveNonDaemonThreads; static JAVA_OBJECT _STATIC_java_lang_Thread_threadMap; static JAVA_OBJECT _STATIC_java_lang_Thread_mainThreadGroup; static JAVA_INT _STATIC_java_lang_Thread_MAX_PRIORITY; static JAVA_INT _STATIC_java_lang_Thread_MIN_PRIORITY; static JAVA_INT _STATIC_java_lang_Thread_NORM_PRIORITY; #include "xmlvm-reflection.h" static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = { }; static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = { }; static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments) { XMLVM_NOT_IMPLEMENTED(); } static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = { }; static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments) { XMLVM_NOT_IMPLEMENTED(); } void __INIT_java_lang_Thread() { staticInitializerLock(&__TIB_java_lang_Thread); // While the static initializer mutex is locked, locally store the value of // whether class initialization began or not int initBegan = __TIB_java_lang_Thread.classInitializationBegan; // Whether or not class initialization had already began, it has begun now __TIB_java_lang_Thread.classInitializationBegan = 1; staticInitializerUnlock(&__TIB_java_lang_Thread); JAVA_LONG curThreadId = (JAVA_LONG)pthread_self(); if (initBegan) { if (__TIB_java_lang_Thread.initializerThreadId != curThreadId) { // Busy wait until the other thread finishes initializing this class while (!__TIB_java_lang_Thread.classInitialized) { // do nothing } } } else { __TIB_java_lang_Thread.initializerThreadId = curThreadId; XMLVM_CLASS_USED("java.lang.Thread") __INIT_IMPL_java_lang_Thread(); } } void __INIT_IMPL_java_lang_Thread() { // Initialize base class if necessary XMLVM_CLASS_INIT(java_lang_Object) __TIB_java_lang_Thread.newInstanceFunc = __NEW_INSTANCE_java_lang_Thread; // Copy vtable from base class XMLVM_MEMCPY(__TIB_java_lang_Thread.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable)); // Initialize vtable for this class __TIB_java_lang_Thread.vtable[1] = (VTABLE_PTR) &java_lang_Thread_equals___java_lang_Object; __TIB_java_lang_Thread.vtable[6] = (VTABLE_PTR) &java_lang_Thread_run__; __TIB_java_lang_Thread.vtable[5] = (VTABLE_PTR) &java_lang_Thread_toString__; xmlvm_init_native_java_lang_Thread(); // Initialize interface information __TIB_java_lang_Thread.numImplementedInterfaces = 1; __TIB_java_lang_Thread.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1); // Initialize interfaces if necessary and assign tib to implementedInterfaces XMLVM_CLASS_INIT(java_lang_Runnable) __TIB_java_lang_Thread.implementedInterfaces[0][0] = &__TIB_java_lang_Runnable; // Initialize itable for this class __TIB_java_lang_Thread.itableBegin = &__TIB_java_lang_Thread.itable[0]; __TIB_java_lang_Thread.itable[XMLVM_ITABLE_IDX_java_lang_Runnable_run__] = __TIB_java_lang_Thread.vtable[6]; _STATIC_java_lang_Thread_threadSafetyMutex = (org_xmlvm_runtime_Mutex*) JAVA_NULL; _STATIC_java_lang_Thread_nextThreadId = 0; _STATIC_java_lang_Thread_numberOfActiveNonDaemonThreads = 0; _STATIC_java_lang_Thread_threadMap = (java_util_Map*) JAVA_NULL; _STATIC_java_lang_Thread_mainThreadGroup = (java_lang_ThreadGroup*) JAVA_NULL; _STATIC_java_lang_Thread_MAX_PRIORITY = 10; _STATIC_java_lang_Thread_MIN_PRIORITY = 1; _STATIC_java_lang_Thread_NORM_PRIORITY = 5; __TIB_java_lang_Thread.declaredFields = &__field_reflection_data[0]; __TIB_java_lang_Thread.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA); __TIB_java_lang_Thread.constructorDispatcherFunc = constructor_dispatcher; __TIB_java_lang_Thread.declaredConstructors = &__constructor_reflection_data[0]; __TIB_java_lang_Thread.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA); __TIB_java_lang_Thread.methodDispatcherFunc = method_dispatcher; __TIB_java_lang_Thread.declaredMethods = &__method_reflection_data[0]; __TIB_java_lang_Thread.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA); __CLASS_java_lang_Thread = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Thread); __TIB_java_lang_Thread.clazz = __CLASS_java_lang_Thread; __TIB_java_lang_Thread.baseType = JAVA_NULL; __CLASS_java_lang_Thread_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Thread); __CLASS_java_lang_Thread_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Thread_1ARRAY); __CLASS_java_lang_Thread_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Thread_2ARRAY); java_lang_Thread___CLINIT_(); //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Thread] //XMLVM_END_WRAPPER __TIB_java_lang_Thread.classInitialized = 1; } void __DELETE_java_lang_Thread(void* me, void* client_data) { //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Thread] //XMLVM_END_WRAPPER } void __INIT_INSTANCE_MEMBERS_java_lang_Thread(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer) { __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer); ((java_lang_Thread*) me)->fields.java_lang_Thread.xmlvmExceptionEnv_ = (java_lang_Object*) JAVA_NULL; ((java_lang_Thread*) me)->fields.java_lang_Thread.xmlvmException_ = (java_lang_Object*) JAVA_NULL; ((java_lang_Thread*) me)->fields.java_lang_Thread.ptBuffers_ = (java_lang_Object*) JAVA_NULL; ((java_lang_Thread*) me)->fields.java_lang_Thread.threadId_ = 0; ((java_lang_Thread*) me)->fields.java_lang_Thread.threadName_ = (java_lang_String*) JAVA_NULL; ((java_lang_Thread*) me)->fields.java_lang_Thread.priority_ = 0; ((java_lang_Thread*) me)->fields.java_lang_Thread.daemon_ = 0; ((java_lang_Thread*) me)->fields.java_lang_Thread.alive_ = 0; ((java_lang_Thread*) me)->fields.java_lang_Thread.targetRunnable_ = (java_lang_Runnable*) JAVA_NULL; ((java_lang_Thread*) me)->fields.java_lang_Thread.threadGroup_ = (java_lang_ThreadGroup*) JAVA_NULL; ((java_lang_Thread*) me)->fields.java_lang_Thread.threadState_ = (java_lang_Thread_State*) JAVA_NULL; ((java_lang_Thread*) me)->fields.java_lang_Thread.interrupted_ = 0; ((java_lang_Thread*) me)->fields.java_lang_Thread.waitingCondition_ = (org_xmlvm_runtime_Condition*) JAVA_NULL; ((java_lang_Thread*) me)->fields.java_lang_Thread.threadLocalMap_ = (java_util_Map*) JAVA_NULL; ((java_lang_Thread*) me)->fields.java_lang_Thread.nativeThreadId_ = 0; ((java_lang_Thread*) me)->fields.java_lang_Thread.action_ = (java_lang_Runnable*) JAVA_NULL; //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Thread] //XMLVM_END_WRAPPER } JAVA_OBJECT __NEW_java_lang_Thread() { XMLVM_CLASS_INIT(java_lang_Thread) java_lang_Thread* me = (java_lang_Thread*) XMLVM_MALLOC(sizeof(java_lang_Thread)); me->tib = &__TIB_java_lang_Thread; __INIT_INSTANCE_MEMBERS_java_lang_Thread(me, 0); //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Thread] //XMLVM_END_WRAPPER return me; } JAVA_OBJECT __NEW_INSTANCE_java_lang_Thread() { JAVA_OBJECT me = JAVA_NULL; me = __NEW_java_lang_Thread(); java_lang_Thread___INIT___(me); return me; } JAVA_OBJECT java_lang_Thread_GET_threadSafetyMutex() { XMLVM_CLASS_INIT(java_lang_Thread) return _STATIC_java_lang_Thread_threadSafetyMutex; } void java_lang_Thread_PUT_threadSafetyMutex(JAVA_OBJECT v) { XMLVM_CLASS_INIT(java_lang_Thread) _STATIC_java_lang_Thread_threadSafetyMutex = v; } JAVA_LONG java_lang_Thread_GET_nextThreadId() { XMLVM_CLASS_INIT(java_lang_Thread) return _STATIC_java_lang_Thread_nextThreadId; } void java_lang_Thread_PUT_nextThreadId(JAVA_LONG v) { XMLVM_CLASS_INIT(java_lang_Thread) _STATIC_java_lang_Thread_nextThreadId = v; } JAVA_INT java_lang_Thread_GET_numberOfActiveNonDaemonThreads() { XMLVM_CLASS_INIT(java_lang_Thread) return _STATIC_java_lang_Thread_numberOfActiveNonDaemonThreads; } void java_lang_Thread_PUT_numberOfActiveNonDaemonThreads(JAVA_INT v) { XMLVM_CLASS_INIT(java_lang_Thread) _STATIC_java_lang_Thread_numberOfActiveNonDaemonThreads = v; } JAVA_OBJECT java_lang_Thread_GET_threadMap() { XMLVM_CLASS_INIT(java_lang_Thread) return _STATIC_java_lang_Thread_threadMap; } void java_lang_Thread_PUT_threadMap(JAVA_OBJECT v) { XMLVM_CLASS_INIT(java_lang_Thread) _STATIC_java_lang_Thread_threadMap = v; } JAVA_OBJECT java_lang_Thread_GET_mainThreadGroup() { XMLVM_CLASS_INIT(java_lang_Thread) return _STATIC_java_lang_Thread_mainThreadGroup; } void java_lang_Thread_PUT_mainThreadGroup(JAVA_OBJECT v) { XMLVM_CLASS_INIT(java_lang_Thread) _STATIC_java_lang_Thread_mainThreadGroup = v; } JAVA_INT java_lang_Thread_GET_MAX_PRIORITY() { XMLVM_CLASS_INIT(java_lang_Thread) return _STATIC_java_lang_Thread_MAX_PRIORITY; } void java_lang_Thread_PUT_MAX_PRIORITY(JAVA_INT v) { XMLVM_CLASS_INIT(java_lang_Thread) _STATIC_java_lang_Thread_MAX_PRIORITY = v; } JAVA_INT java_lang_Thread_GET_MIN_PRIORITY() { XMLVM_CLASS_INIT(java_lang_Thread) return _STATIC_java_lang_Thread_MIN_PRIORITY; } void java_lang_Thread_PUT_MIN_PRIORITY(JAVA_INT v) { XMLVM_CLASS_INIT(java_lang_Thread) _STATIC_java_lang_Thread_MIN_PRIORITY = v; } JAVA_INT java_lang_Thread_GET_NORM_PRIORITY() { XMLVM_CLASS_INIT(java_lang_Thread) return _STATIC_java_lang_Thread_NORM_PRIORITY; } void java_lang_Thread_PUT_NORM_PRIORITY(JAVA_INT v) { XMLVM_CLASS_INIT(java_lang_Thread) _STATIC_java_lang_Thread_NORM_PRIORITY = v; } JAVA_LONG java_lang_Thread_getNextThreadId__() { XMLVM_CLASS_INIT(java_lang_Thread) //XMLVM_BEGIN_WRAPPER[java_lang_Thread_getNextThreadId__] XMLVM_ENTER_METHOD("java.lang.Thread", "getNextThreadId", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; XMLVMElem _r3; XMLVM_SOURCE_POSITION("Thread.java", 120) _r2.o = java_lang_Thread_GET_threadSafetyMutex(); XMLVM_CHECK_NPE(2) org_xmlvm_runtime_Mutex_lock__(_r2.o); XMLVM_SOURCE_POSITION("Thread.java", 121) _r0.l = java_lang_Thread_GET_nextThreadId(); _r2.l = 1; _r2.l = _r2.l + _r0.l; java_lang_Thread_PUT_nextThreadId( _r2.l); XMLVM_SOURCE_POSITION("Thread.java", 122) _r2.o = java_lang_Thread_GET_threadSafetyMutex(); XMLVM_CHECK_NPE(2) org_xmlvm_runtime_Mutex_unlock__(_r2.o); XMLVM_SOURCE_POSITION("Thread.java", 123) XMLVM_EXIT_METHOD() return _r0.l; //XMLVM_END_WRAPPER } void java_lang_Thread_addSelfToMap__(JAVA_OBJECT me) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_addSelfToMap__] XMLVM_ENTER_METHOD("java.lang.Thread", "addSelfToMap", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; XMLVMElem _r3; _r3.o = me; XMLVM_SOURCE_POSITION("Thread.java", 159) _r0.o = java_lang_Thread_GET_threadSafetyMutex(); XMLVM_CHECK_NPE(0) org_xmlvm_runtime_Mutex_lock__(_r0.o); XMLVM_SOURCE_POSITION("Thread.java", 161) _r0.o = java_lang_Thread_GET_threadMap(); XMLVM_CHECK_NPE(3) _r1.l = ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.nativeThreadId_; _r1.o = java_lang_Long_valueOf___long(_r1.l); XMLVM_CHECK_NPE(0) (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_put___java_lang_Object_java_lang_Object])(_r0.o, _r1.o, _r3.o); XMLVM_SOURCE_POSITION("Thread.java", 163) _r0.o = java_lang_Thread_GET_threadSafetyMutex(); XMLVM_CHECK_NPE(0) org_xmlvm_runtime_Mutex_unlock__(_r0.o); XMLVM_SOURCE_POSITION("Thread.java", 164) XMLVM_EXIT_METHOD() return; //XMLVM_END_WRAPPER } void java_lang_Thread_removeSelfFromMap__(JAVA_OBJECT me) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_removeSelfFromMap__] XMLVM_ENTER_METHOD("java.lang.Thread", "removeSelfFromMap", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; XMLVMElem _r3; _r3.o = me; XMLVM_SOURCE_POSITION("Thread.java", 167) _r0.o = java_lang_Thread_GET_threadSafetyMutex(); XMLVM_CHECK_NPE(0) org_xmlvm_runtime_Mutex_lock__(_r0.o); XMLVM_SOURCE_POSITION("Thread.java", 169) _r0.o = java_lang_Thread_GET_threadMap(); XMLVM_CHECK_NPE(3) _r1.l = ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.nativeThreadId_; _r1.o = java_lang_Long_valueOf___long(_r1.l); XMLVM_CHECK_NPE(0) (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_remove___java_lang_Object])(_r0.o, _r1.o); XMLVM_SOURCE_POSITION("Thread.java", 171) _r0.o = java_lang_Thread_GET_threadSafetyMutex(); XMLVM_CHECK_NPE(0) org_xmlvm_runtime_Mutex_unlock__(_r0.o); XMLVM_SOURCE_POSITION("Thread.java", 172) XMLVM_EXIT_METHOD() return; //XMLVM_END_WRAPPER } JAVA_LONG java_lang_Thread_getNativeThreadId__(JAVA_OBJECT me) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_getNativeThreadId__] XMLVM_ENTER_METHOD("java.lang.Thread", "getNativeThreadId", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; _r2.o = me; XMLVM_SOURCE_POSITION("Thread.java", 177) XMLVM_CHECK_NPE(2) _r0.l = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.nativeThreadId_; XMLVM_EXIT_METHOD() return _r0.l; //XMLVM_END_WRAPPER } void java_lang_Thread___INIT____long(JAVA_OBJECT me, JAVA_LONG n1) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread___INIT____long] XMLVM_ENTER_METHOD("java.lang.Thread", "", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; XMLVMElem _r3; XMLVMElem _r4; _r2.o = me; _r3.l = n1; _r1.i = 0; XMLVM_SOURCE_POSITION("Thread.java", 186) XMLVM_CHECK_NPE(2) java_lang_Object___INIT___(_r2.o); XMLVM_SOURCE_POSITION("Thread.java", 131) _r0.i = 5; XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.priority_ = _r0.i; XMLVM_SOURCE_POSITION("Thread.java", 132) XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.daemon_ = _r1.i; XMLVM_SOURCE_POSITION("Thread.java", 133) XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.alive_ = _r1.i; XMLVM_SOURCE_POSITION("Thread.java", 137) _r0.o = java_lang_Thread_State_GET_NEW(); XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadState_ = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 143) _r0.o = __NEW_java_util_HashMap(); XMLVM_CHECK_NPE(0) java_util_HashMap___INIT___(_r0.o); XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadLocalMap_ = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 187) XMLVM_CHECK_NPE(2) java_lang_Thread_initMainThread__(_r2.o); XMLVM_SOURCE_POSITION("Thread.java", 189) XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.nativeThreadId_ = _r3.l; XMLVM_SOURCE_POSITION("Thread.java", 192) XMLVM_CHECK_NPE(2) java_lang_Thread_addSelfToMap__(_r2.o); XMLVM_SOURCE_POSITION("Thread.java", 194) _r0.l = 1; XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadId_ = _r0.l; XMLVM_SOURCE_POSITION("Thread.java", 195) // "main" _r0.o = xmlvm_create_java_string_from_pool(663); XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadName_ = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 197) _r0.o = java_lang_Thread_GET_mainThreadGroup(); XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadGroup_ = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 198) XMLVM_CHECK_NPE(2) _r0.o = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadGroup_; XMLVM_CHECK_NPE(0) java_lang_ThreadGroup_add___java_lang_Thread(_r0.o, _r2.o); XMLVM_SOURCE_POSITION("Thread.java", 199) XMLVM_EXIT_METHOD() return; //XMLVM_END_WRAPPER } //XMLVM_NATIVE[void java_lang_Thread_initMainThread__(JAVA_OBJECT me)] JAVA_OBJECT java_lang_Thread_getThread___long(JAVA_LONG n1) { XMLVM_CLASS_INIT(java_lang_Thread) //XMLVM_BEGIN_WRAPPER[java_lang_Thread_getThread___long] XMLVM_ENTER_METHOD("java.lang.Thread", "getThread", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; XMLVMElem _r3; XMLVMElem _r4; _r3.l = n1; XMLVM_SOURCE_POSITION("Thread.java", 211) _r0.o = JAVA_NULL; XMLVM_SOURCE_POSITION("Thread.java", 212) _r1.o = java_lang_Thread_GET_threadSafetyMutex(); XMLVM_CHECK_NPE(1) org_xmlvm_runtime_Mutex_lock__(_r1.o); XMLVM_SOURCE_POSITION("Thread.java", 214) _r1.o = java_lang_Thread_GET_threadMap(); _r2.o = java_lang_Long_valueOf___long(_r3.l); XMLVM_CHECK_NPE(1) _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_get___java_lang_Object])(_r1.o, _r2.o); _r0.o = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 216) _r1.o = java_lang_Thread_GET_threadSafetyMutex(); XMLVM_CHECK_NPE(1) org_xmlvm_runtime_Mutex_unlock__(_r1.o); XMLVM_SOURCE_POSITION("Thread.java", 218) if (_r0.o != JAVA_NULL) goto label30; XMLVM_SOURCE_POSITION("Thread.java", 221) _r0.o = __NEW_java_lang_Thread(); XMLVM_CHECK_NPE(0) java_lang_Thread___INIT____long(_r0.o, _r3.l); label30:; XMLVM_SOURCE_POSITION("Thread.java", 223) XMLVM_EXIT_METHOD() return _r0.o; //XMLVM_END_WRAPPER } JAVA_BOOLEAN java_lang_Thread_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_equals___java_lang_Object] XMLVM_ENTER_METHOD("java.lang.Thread", "equals", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; XMLVMElem _r3; XMLVMElem _r4; XMLVMElem _r5; XMLVMElem _r6; XMLVMElem _r7; XMLVMElem _r8; _r7.o = me; _r8.o = n1; XMLVM_SOURCE_POSITION("Thread.java", 227) _r1.i = 0; XMLVM_SOURCE_POSITION("Thread.java", 228) XMLVM_CLASS_INIT(java_lang_Thread) _r3.i = XMLVM_ISA(_r8.o, __CLASS_java_lang_Thread); if (_r3.i == 0) goto label19; XMLVM_SOURCE_POSITION("Thread.java", 229) _r0 = _r8; _r0.o = _r0.o; _r2 = _r0; XMLVM_SOURCE_POSITION("Thread.java", 230) XMLVM_CHECK_NPE(7) _r3.l = ((java_lang_Thread*) _r7.o)->fields.java_lang_Thread.nativeThreadId_; XMLVM_CHECK_NPE(2) _r5.l = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.nativeThreadId_; _r3.i = _r3.l > _r5.l ? 1 : (_r3.l == _r5.l ? 0 : -1); if (_r3.i != 0) goto label20; _r3.i = 1; _r1 = _r3; label19:; XMLVM_SOURCE_POSITION("Thread.java", 232) XMLVM_EXIT_METHOD() return _r1.i; label20:; _r3.i = 0; _r1 = _r3; goto label19; //XMLVM_END_WRAPPER } void java_lang_Thread_initThread___java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_initThread___java_lang_ThreadGroup_java_lang_Runnable_java_lang_String] XMLVM_ENTER_METHOD("java.lang.Thread", "initThread", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; XMLVMElem _r3; XMLVMElem _r4; XMLVMElem _r5; XMLVMElem _r6; _r3.o = me; _r4.o = n1; _r5.o = n2; _r6.o = n3; XMLVM_SOURCE_POSITION("Thread.java", 259) XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.targetRunnable_ = _r5.o; XMLVM_SOURCE_POSITION("Thread.java", 260) _r0.l = java_lang_Thread_getNextThreadId__(); XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadId_ = _r0.l; XMLVM_SOURCE_POSITION("Thread.java", 262) if (_r6.o != JAVA_NULL) goto label46; XMLVM_SOURCE_POSITION("Thread.java", 263) _r0.o = __NEW_java_lang_StringBuilder(); XMLVM_CHECK_NPE(0) java_lang_StringBuilder___INIT___(_r0.o); // "Thread-" _r1.o = xmlvm_create_java_string_from_pool(802); XMLVM_CHECK_NPE(0) _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o); XMLVM_CHECK_NPE(3) _r1.l = ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadId_; XMLVM_CHECK_NPE(0) _r0.o = java_lang_StringBuilder_append___long(_r0.o, _r1.l); //java_lang_StringBuilder_toString__[5] XMLVM_CHECK_NPE(0) _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o); XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadName_ = _r0.o; label33:; XMLVM_SOURCE_POSITION("Thread.java", 268) if (_r4.o != JAVA_NULL) goto label49; XMLVM_SOURCE_POSITION("Thread.java", 270) _r0.o = java_lang_Thread_currentThread__(); XMLVM_CHECK_NPE(0) _r0.o = java_lang_Thread_getThreadGroup__(_r0.o); XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadGroup_ = _r0.o; label45:; XMLVM_SOURCE_POSITION("Thread.java", 274) XMLVM_EXIT_METHOD() return; label46:; XMLVM_SOURCE_POSITION("Thread.java", 265) XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadName_ = _r6.o; goto label33; label49:; XMLVM_SOURCE_POSITION("Thread.java", 272) XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadGroup_ = _r4.o; goto label45; //XMLVM_END_WRAPPER } void java_lang_Thread___INIT___(JAVA_OBJECT me) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread___INIT___] XMLVM_ENTER_METHOD("java.lang.Thread", "", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; XMLVMElem _r3; _r3.o = me; _r2.i = 0; _r1.o = JAVA_NULL; XMLVM_SOURCE_POSITION("Thread.java", 283) XMLVM_CHECK_NPE(3) java_lang_Object___INIT___(_r3.o); XMLVM_SOURCE_POSITION("Thread.java", 131) _r0.i = 5; XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.priority_ = _r0.i; XMLVM_SOURCE_POSITION("Thread.java", 132) XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.daemon_ = _r2.i; XMLVM_SOURCE_POSITION("Thread.java", 133) XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.alive_ = _r2.i; XMLVM_SOURCE_POSITION("Thread.java", 137) _r0.o = java_lang_Thread_State_GET_NEW(); XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadState_ = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 143) _r0.o = __NEW_java_util_HashMap(); XMLVM_CHECK_NPE(0) java_util_HashMap___INIT___(_r0.o); XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadLocalMap_ = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 284) XMLVM_CHECK_NPE(3) java_lang_Thread_initThread___java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(_r3.o, _r1.o, _r1.o, _r1.o); XMLVM_SOURCE_POSITION("Thread.java", 285) XMLVM_EXIT_METHOD() return; //XMLVM_END_WRAPPER } void java_lang_Thread___INIT____java_lang_Runnable(JAVA_OBJECT me, JAVA_OBJECT n1) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread___INIT____java_lang_Runnable] XMLVM_ENTER_METHOD("java.lang.Thread", "", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; XMLVMElem _r3; XMLVMElem _r4; _r3.o = me; _r4.o = n1; _r2.o = JAVA_NULL; _r1.i = 0; XMLVM_SOURCE_POSITION("Thread.java", 297) XMLVM_CHECK_NPE(3) java_lang_Object___INIT___(_r3.o); XMLVM_SOURCE_POSITION("Thread.java", 131) _r0.i = 5; XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.priority_ = _r0.i; XMLVM_SOURCE_POSITION("Thread.java", 132) XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.daemon_ = _r1.i; XMLVM_SOURCE_POSITION("Thread.java", 133) XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.alive_ = _r1.i; XMLVM_SOURCE_POSITION("Thread.java", 137) _r0.o = java_lang_Thread_State_GET_NEW(); XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadState_ = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 143) _r0.o = __NEW_java_util_HashMap(); XMLVM_CHECK_NPE(0) java_util_HashMap___INIT___(_r0.o); XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadLocalMap_ = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 298) XMLVM_CHECK_NPE(3) java_lang_Thread_initThread___java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(_r3.o, _r2.o, _r4.o, _r2.o); XMLVM_SOURCE_POSITION("Thread.java", 299) XMLVM_EXIT_METHOD() return; //XMLVM_END_WRAPPER } void java_lang_Thread___INIT____java_lang_Runnable_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread___INIT____java_lang_Runnable_java_lang_String] XMLVM_ENTER_METHOD("java.lang.Thread", "", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; XMLVMElem _r3; XMLVMElem _r4; _r2.o = me; _r3.o = n1; _r4.o = n2; _r1.i = 0; XMLVM_SOURCE_POSITION("Thread.java", 312) XMLVM_CHECK_NPE(2) java_lang_Object___INIT___(_r2.o); XMLVM_SOURCE_POSITION("Thread.java", 131) _r0.i = 5; XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.priority_ = _r0.i; XMLVM_SOURCE_POSITION("Thread.java", 132) XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.daemon_ = _r1.i; XMLVM_SOURCE_POSITION("Thread.java", 133) XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.alive_ = _r1.i; XMLVM_SOURCE_POSITION("Thread.java", 137) _r0.o = java_lang_Thread_State_GET_NEW(); XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadState_ = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 143) _r0.o = __NEW_java_util_HashMap(); XMLVM_CHECK_NPE(0) java_util_HashMap___INIT___(_r0.o); XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadLocalMap_ = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 313) _r0.o = JAVA_NULL; XMLVM_CHECK_NPE(2) java_lang_Thread_initThread___java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(_r2.o, _r0.o, _r3.o, _r4.o); XMLVM_SOURCE_POSITION("Thread.java", 314) XMLVM_EXIT_METHOD() return; //XMLVM_END_WRAPPER } void java_lang_Thread___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread___INIT____java_lang_String] XMLVM_ENTER_METHOD("java.lang.Thread", "", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; XMLVMElem _r3; XMLVMElem _r4; _r3.o = me; _r4.o = n1; _r2.o = JAVA_NULL; _r1.i = 0; XMLVM_SOURCE_POSITION("Thread.java", 325) XMLVM_CHECK_NPE(3) java_lang_Object___INIT___(_r3.o); XMLVM_SOURCE_POSITION("Thread.java", 131) _r0.i = 5; XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.priority_ = _r0.i; XMLVM_SOURCE_POSITION("Thread.java", 132) XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.daemon_ = _r1.i; XMLVM_SOURCE_POSITION("Thread.java", 133) XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.alive_ = _r1.i; XMLVM_SOURCE_POSITION("Thread.java", 137) _r0.o = java_lang_Thread_State_GET_NEW(); XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadState_ = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 143) _r0.o = __NEW_java_util_HashMap(); XMLVM_CHECK_NPE(0) java_util_HashMap___INIT___(_r0.o); XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadLocalMap_ = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 326) XMLVM_CHECK_NPE(3) java_lang_Thread_initThread___java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(_r3.o, _r2.o, _r2.o, _r4.o); XMLVM_SOURCE_POSITION("Thread.java", 327) XMLVM_EXIT_METHOD() return; //XMLVM_END_WRAPPER } void java_lang_Thread___INIT____java_lang_ThreadGroup_java_lang_Runnable(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread___INIT____java_lang_ThreadGroup_java_lang_Runnable] XMLVM_ENTER_METHOD("java.lang.Thread", "", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; XMLVMElem _r3; XMLVMElem _r4; _r2.o = me; _r3.o = n1; _r4.o = n2; _r1.i = 0; XMLVM_SOURCE_POSITION("Thread.java", 345) XMLVM_CHECK_NPE(2) java_lang_Object___INIT___(_r2.o); XMLVM_SOURCE_POSITION("Thread.java", 131) _r0.i = 5; XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.priority_ = _r0.i; XMLVM_SOURCE_POSITION("Thread.java", 132) XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.daemon_ = _r1.i; XMLVM_SOURCE_POSITION("Thread.java", 133) XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.alive_ = _r1.i; XMLVM_SOURCE_POSITION("Thread.java", 137) _r0.o = java_lang_Thread_State_GET_NEW(); XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadState_ = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 143) _r0.o = __NEW_java_util_HashMap(); XMLVM_CHECK_NPE(0) java_util_HashMap___INIT___(_r0.o); XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadLocalMap_ = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 346) _r0.o = JAVA_NULL; XMLVM_CHECK_NPE(2) java_lang_Thread_initThread___java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(_r2.o, _r3.o, _r4.o, _r0.o); XMLVM_SOURCE_POSITION("Thread.java", 347) XMLVM_EXIT_METHOD() return; //XMLVM_END_WRAPPER } void java_lang_Thread___INIT____java_lang_ThreadGroup_java_lang_Runnable_java_lang_String_long(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_LONG n4) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread___INIT____java_lang_ThreadGroup_java_lang_Runnable_java_lang_String_long] XMLVM_ENTER_METHOD("java.lang.Thread", "", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; XMLVMElem _r3; XMLVMElem _r4; XMLVMElem _r5; XMLVMElem _r6; XMLVMElem _r7; _r2.o = me; _r3.o = n1; _r4.o = n2; _r5.o = n3; _r6.l = n4; _r1.i = 0; XMLVM_SOURCE_POSITION("Thread.java", 367) XMLVM_CHECK_NPE(2) java_lang_Object___INIT___(_r2.o); XMLVM_SOURCE_POSITION("Thread.java", 131) _r0.i = 5; XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.priority_ = _r0.i; XMLVM_SOURCE_POSITION("Thread.java", 132) XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.daemon_ = _r1.i; XMLVM_SOURCE_POSITION("Thread.java", 133) XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.alive_ = _r1.i; XMLVM_SOURCE_POSITION("Thread.java", 137) _r0.o = java_lang_Thread_State_GET_NEW(); XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadState_ = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 143) _r0.o = __NEW_java_util_HashMap(); XMLVM_CHECK_NPE(0) java_util_HashMap___INIT___(_r0.o); XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadLocalMap_ = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 368) XMLVM_CHECK_NPE(2) java_lang_Thread_initThread___java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(_r2.o, _r3.o, _r4.o, _r5.o); XMLVM_SOURCE_POSITION("Thread.java", 369) XMLVM_EXIT_METHOD() return; //XMLVM_END_WRAPPER } void java_lang_Thread___INIT____java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread___INIT____java_lang_ThreadGroup_java_lang_Runnable_java_lang_String] XMLVM_ENTER_METHOD("java.lang.Thread", "", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; XMLVMElem _r3; XMLVMElem _r4; XMLVMElem _r5; _r2.o = me; _r3.o = n1; _r4.o = n2; _r5.o = n3; _r1.i = 0; XMLVM_SOURCE_POSITION("Thread.java", 388) XMLVM_CHECK_NPE(2) java_lang_Object___INIT___(_r2.o); XMLVM_SOURCE_POSITION("Thread.java", 131) _r0.i = 5; XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.priority_ = _r0.i; XMLVM_SOURCE_POSITION("Thread.java", 132) XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.daemon_ = _r1.i; XMLVM_SOURCE_POSITION("Thread.java", 133) XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.alive_ = _r1.i; XMLVM_SOURCE_POSITION("Thread.java", 137) _r0.o = java_lang_Thread_State_GET_NEW(); XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadState_ = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 143) _r0.o = __NEW_java_util_HashMap(); XMLVM_CHECK_NPE(0) java_util_HashMap___INIT___(_r0.o); XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadLocalMap_ = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 389) XMLVM_CHECK_NPE(2) java_lang_Thread_initThread___java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(_r2.o, _r3.o, _r4.o, _r5.o); XMLVM_SOURCE_POSITION("Thread.java", 390) XMLVM_EXIT_METHOD() return; //XMLVM_END_WRAPPER } void java_lang_Thread___INIT____java_lang_ThreadGroup_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread___INIT____java_lang_ThreadGroup_java_lang_String] XMLVM_ENTER_METHOD("java.lang.Thread", "", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; XMLVMElem _r3; XMLVMElem _r4; _r2.o = me; _r3.o = n1; _r4.o = n2; _r1.i = 0; XMLVM_SOURCE_POSITION("Thread.java", 406) XMLVM_CHECK_NPE(2) java_lang_Object___INIT___(_r2.o); XMLVM_SOURCE_POSITION("Thread.java", 131) _r0.i = 5; XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.priority_ = _r0.i; XMLVM_SOURCE_POSITION("Thread.java", 132) XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.daemon_ = _r1.i; XMLVM_SOURCE_POSITION("Thread.java", 133) XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.alive_ = _r1.i; XMLVM_SOURCE_POSITION("Thread.java", 137) _r0.o = java_lang_Thread_State_GET_NEW(); XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadState_ = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 143) _r0.o = __NEW_java_util_HashMap(); XMLVM_CHECK_NPE(0) java_util_HashMap___INIT___(_r0.o); XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadLocalMap_ = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 407) _r0.o = JAVA_NULL; XMLVM_CHECK_NPE(2) java_lang_Thread_initThread___java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(_r2.o, _r3.o, _r0.o, _r4.o); XMLVM_SOURCE_POSITION("Thread.java", 408) XMLVM_EXIT_METHOD() return; //XMLVM_END_WRAPPER } void java_lang_Thread_setInterruptAction___java_lang_Runnable(JAVA_OBJECT me, JAVA_OBJECT n1) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_setInterruptAction___java_lang_Runnable] XMLVM_ENTER_METHOD("java.lang.Thread", "setInterruptAction", "?") XMLVMElem _r0; XMLVMElem _r1; _r0.o = me; _r1.o = n1; XMLVM_SOURCE_POSITION("Thread.java", 423) XMLVM_CHECK_NPE(0) ((java_lang_Thread*) _r0.o)->fields.java_lang_Thread.action_ = _r1.o; XMLVM_SOURCE_POSITION("Thread.java", 424) XMLVM_EXIT_METHOD() return; //XMLVM_END_WRAPPER } //XMLVM_NATIVE[JAVA_INT java_lang_Thread_activeCount__()] //XMLVM_NATIVE[void java_lang_Thread_checkAccess__(JAVA_OBJECT me)] //XMLVM_NATIVE[JAVA_INT java_lang_Thread_countStackFrames__(JAVA_OBJECT me)] JAVA_OBJECT java_lang_Thread_currentThread__() { XMLVM_CLASS_INIT(java_lang_Thread) //XMLVM_BEGIN_WRAPPER[java_lang_Thread_currentThread__] XMLVM_ENTER_METHOD("java.lang.Thread", "currentThread", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVM_SOURCE_POSITION("Thread.java", 466) _r0.l = java_lang_Thread_getCurrentThreadNativeId__(); _r0.o = java_lang_Thread_getThread___long(_r0.l); XMLVM_EXIT_METHOD() return _r0.o; //XMLVM_END_WRAPPER } //XMLVM_NATIVE[JAVA_LONG java_lang_Thread_getCurrentThreadNativeId__()] //XMLVM_NATIVE[void java_lang_Thread_destroy__(JAVA_OBJECT me)] //XMLVM_NATIVE[void java_lang_Thread_dumpStack__()] //XMLVM_NATIVE[JAVA_INT java_lang_Thread_enumerate___java_lang_Thread_1ARRAY(JAVA_OBJECT n1)] //XMLVM_NATIVE[JAVA_OBJECT java_lang_Thread_getAllStackTraces__()] //XMLVM_NATIVE[JAVA_OBJECT java_lang_Thread_getContextClassLoader__(JAVA_OBJECT me)] //XMLVM_NATIVE[JAVA_OBJECT java_lang_Thread_getDefaultUncaughtExceptionHandler__()] JAVA_LONG java_lang_Thread_getId__(JAVA_OBJECT me) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_getId__] XMLVM_ENTER_METHOD("java.lang.Thread", "getId", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; _r2.o = me; XMLVM_SOURCE_POSITION("Thread.java", 566) XMLVM_CHECK_NPE(2) _r0.l = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadId_; XMLVM_EXIT_METHOD() return _r0.l; //XMLVM_END_WRAPPER } JAVA_OBJECT java_lang_Thread_getName__(JAVA_OBJECT me) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_getName__] XMLVM_ENTER_METHOD("java.lang.Thread", "getName", "?") XMLVMElem _r0; XMLVMElem _r1; _r1.o = me; XMLVM_SOURCE_POSITION("Thread.java", 575) XMLVM_CHECK_NPE(1) _r0.o = ((java_lang_Thread*) _r1.o)->fields.java_lang_Thread.threadName_; XMLVM_EXIT_METHOD() return _r0.o; //XMLVM_END_WRAPPER } JAVA_INT java_lang_Thread_getPriority__(JAVA_OBJECT me) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_getPriority__] XMLVM_ENTER_METHOD("java.lang.Thread", "getPriority", "?") XMLVMElem _r0; XMLVMElem _r1; _r1.o = me; XMLVM_SOURCE_POSITION("Thread.java", 585) XMLVM_CHECK_NPE(1) _r0.i = ((java_lang_Thread*) _r1.o)->fields.java_lang_Thread.priority_; XMLVM_EXIT_METHOD() return _r0.i; //XMLVM_END_WRAPPER } //XMLVM_NATIVE[JAVA_OBJECT java_lang_Thread_getStackTrace__(JAVA_OBJECT me)] JAVA_OBJECT java_lang_Thread_getState__(JAVA_OBJECT me) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_getState__] XMLVM_ENTER_METHOD("java.lang.Thread", "getState", "?") volatile XMLVMElem _r0; volatile XMLVMElem _r1; volatile XMLVMElem _r2; _r2.o = me; XMLVM_SOURCE_POSITION("Thread.java", 612) java_lang_Object_acquireLockRecursive__(_r2.o); XMLVM_TRY_BEGIN(w5666aaac57b1b4) // Begin try _r0.o = java_lang_System_GET_out(); // "Thread.getState() is not fully implemented. Specifically, you will not currently find BLOCKED, WAITING and TIMED_WAITING." _r1.o = xmlvm_create_java_string_from_pool(803); XMLVM_CHECK_NPE(0) java_io_PrintStream_println___java_lang_String(_r0.o, _r1.o); XMLVM_SOURCE_POSITION("Thread.java", 613) XMLVM_CHECK_NPE(2) _r0.o = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadState_; // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac57b1b4) XMLVM_CATCH_SPECIFIC(w5666aaac57b1b4,java_lang_Object,12) XMLVM_CATCH_END(w5666aaac57b1b4) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac57b1b4) java_lang_Object_releaseLockRecursive__(_r2.o); XMLVM_EXIT_METHOD() return _r0.o; label12:; java_lang_Thread* curThread_w5666aaac57b1b8 = (java_lang_Thread*)java_lang_Thread_currentThread__(); _r0.o = curThread_w5666aaac57b1b8->fields.java_lang_Thread.xmlvmException_; java_lang_Object_releaseLockRecursive__(_r2.o); XMLVM_THROW_CUSTOM(_r0.o) //XMLVM_END_WRAPPER } JAVA_OBJECT java_lang_Thread_getThreadGroup__(JAVA_OBJECT me) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_getThreadGroup__] XMLVM_ENTER_METHOD("java.lang.Thread", "getThreadGroup", "?") XMLVMElem _r0; XMLVMElem _r1; _r1.o = me; XMLVM_SOURCE_POSITION("Thread.java", 622) XMLVM_CHECK_NPE(1) _r0.o = ((java_lang_Thread*) _r1.o)->fields.java_lang_Thread.threadGroup_; XMLVM_EXIT_METHOD() return _r0.o; //XMLVM_END_WRAPPER } JAVA_OBJECT java_lang_Thread_getThreadLocal___java_lang_ThreadLocal(JAVA_OBJECT me, JAVA_OBJECT n1) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_getThreadLocal___java_lang_ThreadLocal] XMLVM_ENTER_METHOD("java.lang.Thread", "getThreadLocal", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; _r1.o = me; _r2.o = n1; XMLVM_SOURCE_POSITION("Thread.java", 636) XMLVM_CHECK_NPE(1) _r0.o = ((java_lang_Thread*) _r1.o)->fields.java_lang_Thread.threadLocalMap_; XMLVM_CHECK_NPE(0) _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_get___java_lang_Object])(_r0.o, _r2.o); XMLVM_EXIT_METHOD() return _r0.o; //XMLVM_END_WRAPPER } //XMLVM_NATIVE[JAVA_OBJECT java_lang_Thread_getUncaughtExceptionHandler__(JAVA_OBJECT me)] void java_lang_Thread_interrupt__(JAVA_OBJECT me) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_interrupt__] XMLVM_ENTER_METHOD("java.lang.Thread", "interrupt", "?") volatile XMLVMElem _r0; volatile XMLVMElem _r1; volatile XMLVMElem _r2; _r2.o = me; XMLVM_SOURCE_POSITION("Thread.java", 680) XMLVM_CHECK_NPE(2) _r1.o = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.action_; if (_r1.o == JAVA_NULL) goto label9; XMLVM_SOURCE_POSITION("Thread.java", 681) XMLVM_CHECK_NPE(2) _r1.o = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.action_; XMLVM_CHECK_NPE(1) (*(void (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_Runnable_run__])(_r1.o); label9:; XMLVM_SOURCE_POSITION("Thread.java", 684) _r0.o = JAVA_NULL; XMLVM_SOURCE_POSITION("Thread.java", 685) java_lang_Object_acquireLockRecursive__(_r2.o); XMLVM_SOURCE_POSITION("Thread.java", 686) _r1.i = 1; XMLVM_TRY_BEGIN(w5666aaac61b1c15) // Begin try XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.interrupted_ = _r1.i; XMLVM_SOURCE_POSITION("Thread.java", 688) XMLVM_CHECK_NPE(2) _r1.o = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.waitingCondition_; if (_r1.o == JAVA_NULL) { XMLVM_MEMCPY(curThread_w5666aaac61b1c15->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac61b1c15, sizeof(XMLVM_JMP_BUF)); goto label20; }; XMLVM_SOURCE_POSITION("Thread.java", 689) XMLVM_CHECK_NPE(2) _r0.o = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.waitingCondition_; // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac61b1c15) XMLVM_CATCH_SPECIFIC(w5666aaac61b1c15,java_lang_Object,31) XMLVM_CATCH_END(w5666aaac61b1c15) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac61b1c15) label20:; XMLVM_TRY_BEGIN(w5666aaac61b1c17) // Begin try XMLVM_SOURCE_POSITION("Thread.java", 691) java_lang_Object_releaseLockRecursive__(_r2.o); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac61b1c17) XMLVM_CATCH_SPECIFIC(w5666aaac61b1c17,java_lang_Object,31) XMLVM_CATCH_END(w5666aaac61b1c17) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac61b1c17) XMLVM_SOURCE_POSITION("Thread.java", 695) if (_r0.o == JAVA_NULL) goto label30; XMLVM_SOURCE_POSITION("Thread.java", 696) XMLVM_CHECK_NPE(0) _r1.o = org_xmlvm_runtime_Condition_getSynchronizedObject__(_r0.o); XMLVM_CHECK_NPE(1) java_lang_Object_interruptWait___org_xmlvm_runtime_Condition(_r1.o, _r0.o); label30:; XMLVM_SOURCE_POSITION("Thread.java", 698) XMLVM_EXIT_METHOD() return; label31:; java_lang_Thread* curThread_w5666aaac61b1c27 = (java_lang_Thread*)java_lang_Thread_currentThread__(); _r1.o = curThread_w5666aaac61b1c27->fields.java_lang_Thread.xmlvmException_; XMLVM_TRY_BEGIN(w5666aaac61b1c28) // Begin try java_lang_Object_releaseLockRecursive__(_r2.o); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac61b1c28) XMLVM_CATCH_SPECIFIC(w5666aaac61b1c28,java_lang_Object,31) XMLVM_CATCH_END(w5666aaac61b1c28) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac61b1c28) XMLVM_THROW_CUSTOM(_r1.o) //XMLVM_END_WRAPPER } JAVA_BOOLEAN java_lang_Thread_interrupted__() { XMLVM_CLASS_INIT(java_lang_Thread) //XMLVM_BEGIN_WRAPPER[java_lang_Thread_interrupted__] XMLVM_ENTER_METHOD("java.lang.Thread", "interrupted", "?") volatile XMLVMElem _r0; volatile XMLVMElem _r1; volatile XMLVMElem _r2; XMLVM_SOURCE_POSITION("Thread.java", 712) _r1.i = 0; XMLVM_SOURCE_POSITION("Thread.java", 713) _r0.o = java_lang_Thread_currentThread__(); XMLVM_SOURCE_POSITION("Thread.java", 714) java_lang_Object_acquireLockRecursive__(_r0.o); XMLVM_TRY_BEGIN(w5666aaac62b1b7) // Begin try XMLVM_SOURCE_POSITION("Thread.java", 715) XMLVM_CHECK_NPE(0) _r1.i = java_lang_Thread_isInterrupted__(_r0.o); _r2.i = 0; XMLVM_SOURCE_POSITION("Thread.java", 716) XMLVM_CHECK_NPE(0) ((java_lang_Thread*) _r0.o)->fields.java_lang_Thread.interrupted_ = _r2.i; XMLVM_SOURCE_POSITION("Thread.java", 717) java_lang_Object_releaseLockRecursive__(_r0.o); XMLVM_SOURCE_POSITION("Thread.java", 718) XMLVM_MEMCPY(curThread_w5666aaac62b1b7->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac62b1b7, sizeof(XMLVM_JMP_BUF)); XMLVM_EXIT_METHOD() return _r1.i; // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac62b1b7) XMLVM_CATCH_SPECIFIC(w5666aaac62b1b7,java_lang_Object,15) XMLVM_CATCH_END(w5666aaac62b1b7) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac62b1b7) label15:; XMLVM_TRY_BEGIN(w5666aaac62b1b9) // Begin try java_lang_Thread* curThread_w5666aaac62b1b9aa = (java_lang_Thread*)java_lang_Thread_currentThread__(); _r2.o = curThread_w5666aaac62b1b9aa->fields.java_lang_Thread.xmlvmException_; java_lang_Object_releaseLockRecursive__(_r0.o); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac62b1b9) XMLVM_CATCH_SPECIFIC(w5666aaac62b1b9,java_lang_Object,15) XMLVM_CATCH_END(w5666aaac62b1b9) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac62b1b9) XMLVM_THROW_CUSTOM(_r2.o) //XMLVM_END_WRAPPER } JAVA_BOOLEAN java_lang_Thread_isAlive__(JAVA_OBJECT me) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_isAlive__] XMLVM_ENTER_METHOD("java.lang.Thread", "isAlive", "?") volatile XMLVMElem _r0; volatile XMLVMElem _r1; _r1.o = me; XMLVM_SOURCE_POSITION("Thread.java", 731) java_lang_Object_acquireLockRecursive__(_r1.o); XMLVM_TRY_BEGIN(w5666aaac63b1b4) // Begin try XMLVM_CHECK_NPE(1) _r0.i = ((java_lang_Thread*) _r1.o)->fields.java_lang_Thread.alive_; // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac63b1b4) XMLVM_CATCH_SPECIFIC(w5666aaac63b1b4,java_lang_Object,5) XMLVM_CATCH_END(w5666aaac63b1b4) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac63b1b4) java_lang_Object_releaseLockRecursive__(_r1.o); XMLVM_EXIT_METHOD() return _r0.i; label5:; java_lang_Thread* curThread_w5666aaac63b1b8 = (java_lang_Thread*)java_lang_Thread_currentThread__(); _r0.o = curThread_w5666aaac63b1b8->fields.java_lang_Thread.xmlvmException_; java_lang_Object_releaseLockRecursive__(_r1.o); XMLVM_THROW_CUSTOM(_r0.o) //XMLVM_END_WRAPPER } JAVA_BOOLEAN java_lang_Thread_isDaemon__(JAVA_OBJECT me) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_isDaemon__] XMLVM_ENTER_METHOD("java.lang.Thread", "isDaemon", "?") volatile XMLVMElem _r0; volatile XMLVMElem _r1; _r1.o = me; XMLVM_SOURCE_POSITION("Thread.java", 745) java_lang_Object_acquireLockRecursive__(_r1.o); XMLVM_TRY_BEGIN(w5666aaac64b1b4) // Begin try XMLVM_CHECK_NPE(1) _r0.i = ((java_lang_Thread*) _r1.o)->fields.java_lang_Thread.daemon_; // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac64b1b4) XMLVM_CATCH_SPECIFIC(w5666aaac64b1b4,java_lang_Object,5) XMLVM_CATCH_END(w5666aaac64b1b4) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac64b1b4) java_lang_Object_releaseLockRecursive__(_r1.o); XMLVM_EXIT_METHOD() return _r0.i; label5:; java_lang_Thread* curThread_w5666aaac64b1b8 = (java_lang_Thread*)java_lang_Thread_currentThread__(); _r0.o = curThread_w5666aaac64b1b8->fields.java_lang_Thread.xmlvmException_; java_lang_Object_releaseLockRecursive__(_r1.o); XMLVM_THROW_CUSTOM(_r0.o) //XMLVM_END_WRAPPER } JAVA_BOOLEAN java_lang_Thread_isInterrupted__(JAVA_OBJECT me) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_isInterrupted__] XMLVM_ENTER_METHOD("java.lang.Thread", "isInterrupted", "?") volatile XMLVMElem _r0; volatile XMLVMElem _r1; volatile XMLVMElem _r2; _r2.o = me; XMLVM_SOURCE_POSITION("Thread.java", 758) _r0.i = 0; XMLVM_SOURCE_POSITION("Thread.java", 759) java_lang_Object_acquireLockRecursive__(_r2.o); XMLVM_TRY_BEGIN(w5666aaac65b1b6) // Begin try XMLVM_SOURCE_POSITION("Thread.java", 760) XMLVM_CHECK_NPE(2) _r0.i = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.interrupted_; XMLVM_SOURCE_POSITION("Thread.java", 761) java_lang_Object_releaseLockRecursive__(_r2.o); XMLVM_SOURCE_POSITION("Thread.java", 762) XMLVM_MEMCPY(curThread_w5666aaac65b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac65b1b6, sizeof(XMLVM_JMP_BUF)); XMLVM_EXIT_METHOD() return _r0.i; // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac65b1b6) XMLVM_CATCH_SPECIFIC(w5666aaac65b1b6,java_lang_Object,6) XMLVM_CATCH_END(w5666aaac65b1b6) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac65b1b6) label6:; XMLVM_TRY_BEGIN(w5666aaac65b1b8) // Begin try java_lang_Thread* curThread_w5666aaac65b1b8aa = (java_lang_Thread*)java_lang_Thread_currentThread__(); _r1.o = curThread_w5666aaac65b1b8aa->fields.java_lang_Thread.xmlvmException_; java_lang_Object_releaseLockRecursive__(_r2.o); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac65b1b8) XMLVM_CATCH_SPECIFIC(w5666aaac65b1b8,java_lang_Object,6) XMLVM_CATCH_END(w5666aaac65b1b8) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac65b1b8) XMLVM_THROW_CUSTOM(_r1.o) //XMLVM_END_WRAPPER } void java_lang_Thread_join__(JAVA_OBJECT me) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_join__] XMLVM_ENTER_METHOD("java.lang.Thread", "join", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; _r2.o = me; XMLVM_SOURCE_POSITION("Thread.java", 775) _r0.l = 0; XMLVM_CHECK_NPE(2) java_lang_Thread_join___long(_r2.o, _r0.l); XMLVM_SOURCE_POSITION("Thread.java", 776) XMLVM_EXIT_METHOD() return; //XMLVM_END_WRAPPER } void java_lang_Thread_join___long(JAVA_OBJECT me, JAVA_LONG n1) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_join___long] XMLVM_ENTER_METHOD("java.lang.Thread", "join", "?") volatile XMLVMElem _r0; volatile XMLVMElem _r1; volatile XMLVMElem _r2; volatile XMLVMElem _r3; volatile XMLVMElem _r4; volatile XMLVMElem _r5; volatile XMLVMElem _r6; volatile XMLVMElem _r7; volatile XMLVMElem _r8; volatile XMLVMElem _r9; volatile XMLVMElem _r10; volatile XMLVMElem _r11; volatile XMLVMElem _r12; volatile XMLVMElem _r13; _r11.o = me; _r12.l = n1; _r9.l = 0; XMLVM_SOURCE_POSITION("Thread.java", 790) java_lang_Object_acquireLockRecursive__(_r11.o); XMLVM_TRY_BEGIN(w5666aaac67b1b6) // Begin try _r0.l = java_lang_System_currentTimeMillis__(); _r5.l = 0; _r7.i = _r12.l > _r9.l ? 1 : (_r12.l == _r9.l ? 0 : -1); if (_r7.i >= 0) { XMLVM_MEMCPY(curThread_w5666aaac67b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac67b1b6, sizeof(XMLVM_JMP_BUF)); goto label24; }; XMLVM_SOURCE_POSITION("Thread.java", 793) XMLVM_SOURCE_POSITION("Thread.java", 794) // Red class access removed: java.lang.IllegalArgumentException::new-instance XMLVM_RED_CLASS_DEPENDENCY(); // "timeout value is negative" _r8.o = xmlvm_create_java_string_from_pool(804); // Red class access removed: java.lang.IllegalArgumentException:: XMLVM_RED_CLASS_DEPENDENCY(); XMLVM_THROW_CUSTOM(_r7.o) // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac67b1b6) XMLVM_CATCH_SPECIFIC(w5666aaac67b1b6,java_lang_Object,21) XMLVM_CATCH_END(w5666aaac67b1b6) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac67b1b6) label21:; java_lang_Thread* curThread_w5666aaac67b1b8 = (java_lang_Thread*)java_lang_Thread_currentThread__(); _r7.o = curThread_w5666aaac67b1b8->fields.java_lang_Thread.xmlvmException_; java_lang_Object_releaseLockRecursive__(_r11.o); XMLVM_THROW_CUSTOM(_r7.o) label24:; XMLVM_SOURCE_POSITION("Thread.java", 797) _r7.i = _r12.l > _r9.l ? 1 : (_r12.l == _r9.l ? 0 : -1); if (_r7.i != 0) goto label38; label28:; XMLVM_TRY_BEGIN(w5666aaac67b1c16) // Begin try XMLVM_SOURCE_POSITION("Thread.java", 798) XMLVM_CHECK_NPE(11) _r7.i = java_lang_Thread_isAlive__(_r11.o); if (_r7.i == 0) { XMLVM_MEMCPY(curThread_w5666aaac67b1c16->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac67b1c16, sizeof(XMLVM_JMP_BUF)); goto label65; }; XMLVM_SOURCE_POSITION("Thread.java", 800) XMLVM_CHECK_NPE(11) java_lang_Object_wait__(_r11.o); { XMLVM_MEMCPY(curThread_w5666aaac67b1c16->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac67b1c16, sizeof(XMLVM_JMP_BUF)); goto label28; }; XMLVM_SOURCE_POSITION("Thread.java", 803) // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac67b1c16) XMLVM_CATCH_SPECIFIC(w5666aaac67b1c16,java_lang_Object,21) XMLVM_CATCH_END(w5666aaac67b1c16) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac67b1c16) label38:; XMLVM_TRY_BEGIN(w5666aaac67b1c18) // Begin try _r4.i = 0; // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac67b1c18) XMLVM_CATCH_SPECIFIC(w5666aaac67b1c18,java_lang_Object,21) XMLVM_CATCH_END(w5666aaac67b1c18) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac67b1c18) label39:; XMLVM_TRY_BEGIN(w5666aaac67b1c20) // Begin try XMLVM_SOURCE_POSITION("Thread.java", 804) if (_r4.i != 0) { XMLVM_MEMCPY(curThread_w5666aaac67b1c20->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac67b1c20, sizeof(XMLVM_JMP_BUF)); goto label65; }; XMLVM_CHECK_NPE(11) _r7.i = java_lang_Thread_isAlive__(_r11.o); if (_r7.i == 0) { XMLVM_MEMCPY(curThread_w5666aaac67b1c20->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac67b1c20, sizeof(XMLVM_JMP_BUF)); goto label65; }; XMLVM_SOURCE_POSITION("Thread.java", 805) _r2.l = _r12.l - _r5.l; _r7.i = _r2.l > _r9.l ? 1 : (_r2.l == _r9.l ? 0 : -1); if (_r7.i > 0) { XMLVM_MEMCPY(curThread_w5666aaac67b1c20->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac67b1c20, sizeof(XMLVM_JMP_BUF)); goto label55; }; XMLVM_SOURCE_POSITION("Thread.java", 806) XMLVM_SOURCE_POSITION("Thread.java", 807) _r4.i = 1; { XMLVM_MEMCPY(curThread_w5666aaac67b1c20->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac67b1c20, sizeof(XMLVM_JMP_BUF)); goto label39; }; XMLVM_SOURCE_POSITION("Thread.java", 810) // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac67b1c20) XMLVM_CATCH_SPECIFIC(w5666aaac67b1c20,java_lang_Object,21) XMLVM_CATCH_END(w5666aaac67b1c20) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac67b1c20) label55:; XMLVM_TRY_BEGIN(w5666aaac67b1c22) // Begin try XMLVM_CHECK_NPE(11) java_lang_Object_wait___long(_r11.o, _r2.l); XMLVM_SOURCE_POSITION("Thread.java", 811) _r7.l = java_lang_System_currentTimeMillis__(); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac67b1c22) XMLVM_CATCH_SPECIFIC(w5666aaac67b1c22,java_lang_Object,21) XMLVM_CATCH_END(w5666aaac67b1c22) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac67b1c22) _r5.l = _r7.l - _r0.l; goto label39; label65:; XMLVM_SOURCE_POSITION("Thread.java", 815) java_lang_Object_releaseLockRecursive__(_r11.o); XMLVM_EXIT_METHOD() return; //XMLVM_END_WRAPPER } //XMLVM_NATIVE[void java_lang_Thread_join___long_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_INT n2)] //XMLVM_NATIVE[void java_lang_Thread_resume__(JAVA_OBJECT me)] void java_lang_Thread_run0___long(JAVA_OBJECT me, JAVA_LONG n1) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_run0___long] XMLVM_ENTER_METHOD("java.lang.Thread", "run0", "?") volatile XMLVMElem _r0; volatile XMLVMElem _r1; volatile XMLVMElem _r2; volatile XMLVMElem _r3; volatile XMLVMElem _r4; volatile XMLVMElem _r5; volatile XMLVMElem _r6; volatile XMLVMElem _r7; volatile XMLVMElem _r8; _r6.o = me; _r7.l = n1; // "Exception in thread \042" _r5.o = xmlvm_create_java_string_from_pool(805); // "\042 " _r4.o = xmlvm_create_java_string_from_pool(806); XMLVM_SOURCE_POSITION("Thread.java", 854) XMLVM_CHECK_NPE(6) ((java_lang_Thread*) _r6.o)->fields.java_lang_Thread.nativeThreadId_ = _r7.l; XMLVM_SOURCE_POSITION("Thread.java", 855) XMLVM_CHECK_NPE(6) java_lang_Thread_addSelfToMap__(_r6.o); XMLVM_SOURCE_POSITION("Thread.java", 857) java_lang_Object_acquireLockRecursive__(_r6.o); XMLVM_SOURCE_POSITION("Thread.java", 858) _r1.i = 1; XMLVM_TRY_BEGIN(w5666aaac70b1c13) // Begin try XMLVM_CHECK_NPE(6) ((java_lang_Thread*) _r6.o)->fields.java_lang_Thread.alive_ = _r1.i; XMLVM_SOURCE_POSITION("Thread.java", 859) java_lang_Object_releaseLockRecursive__(_r6.o); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac70b1c13) XMLVM_CATCH_SPECIFIC(w5666aaac70b1c13,java_lang_Object,41) XMLVM_CATCH_END(w5666aaac70b1c13) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac70b1c13) XMLVM_TRY_BEGIN(w5666aaac70b1c14) // Begin try XMLVM_SOURCE_POSITION("Thread.java", 862) XMLVM_CHECK_NPE(6) _r1.o = ((java_lang_Thread*) _r6.o)->fields.java_lang_Thread.targetRunnable_; if (_r1.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w5666aaac70b1c14->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac70b1c14, sizeof(XMLVM_JMP_BUF)); goto label44; }; XMLVM_SOURCE_POSITION("Thread.java", 863) //java_lang_Thread_run__[6] XMLVM_CHECK_NPE(6) (*(void (*)(JAVA_OBJECT)) ((java_lang_Thread*) _r6.o)->tib->vtable[6])(_r6.o); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac70b1c14) XMLVM_CATCH_SPECIFIC(w5666aaac70b1c14,java_lang_Throwable,50) XMLVM_CATCH_END(w5666aaac70b1c14) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac70b1c14) label21:; XMLVM_SOURCE_POSITION("Thread.java", 877) java_lang_Object_acquireLockRecursive__(_r6.o); XMLVM_SOURCE_POSITION("Thread.java", 878) _r1.i = 0; XMLVM_TRY_BEGIN(w5666aaac70b1c20) // Begin try XMLVM_CHECK_NPE(6) ((java_lang_Thread*) _r6.o)->fields.java_lang_Thread.alive_ = _r1.i; XMLVM_SOURCE_POSITION("Thread.java", 881) XMLVM_CHECK_NPE(6) java_lang_Object_notifyAll__(_r6.o); XMLVM_SOURCE_POSITION("Thread.java", 882) java_lang_Object_releaseLockRecursive__(_r6.o); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac70b1c20) XMLVM_CATCH_SPECIFIC(w5666aaac70b1c20,java_lang_Object,158) XMLVM_CATCH_END(w5666aaac70b1c20) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac70b1c20) XMLVM_SOURCE_POSITION("Thread.java", 884) XMLVM_CHECK_NPE(6) java_lang_Thread_removeSelfFromMap__(_r6.o); XMLVM_SOURCE_POSITION("Thread.java", 886) XMLVM_CHECK_NPE(6) _r1.o = ((java_lang_Thread*) _r6.o)->fields.java_lang_Thread.threadGroup_; XMLVM_CHECK_NPE(1) java_lang_ThreadGroup_remove___java_lang_Thread(_r1.o, _r6.o); XMLVM_SOURCE_POSITION("Thread.java", 888) XMLVM_CHECK_NPE(6) java_lang_Thread_threadTerminating__(_r6.o); XMLVM_SOURCE_POSITION("Thread.java", 889) XMLVM_EXIT_METHOD() return; label41:; java_lang_Thread* curThread_w5666aaac70b1c31 = (java_lang_Thread*)java_lang_Thread_currentThread__(); _r1.o = curThread_w5666aaac70b1c31->fields.java_lang_Thread.xmlvmException_; XMLVM_TRY_BEGIN(w5666aaac70b1c32) // Begin try java_lang_Object_releaseLockRecursive__(_r6.o); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac70b1c32) XMLVM_CATCH_SPECIFIC(w5666aaac70b1c32,java_lang_Object,41) XMLVM_CATCH_END(w5666aaac70b1c32) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac70b1c32) XMLVM_THROW_CUSTOM(_r1.o) label44:; XMLVM_TRY_BEGIN(w5666aaac70b1c35) // Begin try XMLVM_SOURCE_POSITION("Thread.java", 865) XMLVM_CHECK_NPE(6) _r1.o = ((java_lang_Thread*) _r6.o)->fields.java_lang_Thread.targetRunnable_; XMLVM_CHECK_NPE(1) (*(void (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_Runnable_run__])(_r1.o); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac70b1c35) XMLVM_CATCH_SPECIFIC(w5666aaac70b1c35,java_lang_Throwable,50) XMLVM_CATCH_END(w5666aaac70b1c35) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac70b1c35) goto label21; label50:; XMLVM_SOURCE_POSITION("Thread.java", 867) java_lang_Thread* curThread_w5666aaac70b1c39 = (java_lang_Thread*)java_lang_Thread_currentThread__(); _r1.o = curThread_w5666aaac70b1c39->fields.java_lang_Thread.xmlvmException_; _r0 = _r1; XMLVM_SOURCE_POSITION("Thread.java", 868) _r1.i = java_lang_Thread_stackTracesEnabled__(); if (_r1.i == 0) goto label96; XMLVM_SOURCE_POSITION("Thread.java", 869) _r1.o = java_lang_System_GET_out(); _r2.o = __NEW_java_lang_StringBuilder(); XMLVM_CHECK_NPE(2) java_lang_StringBuilder___INIT___(_r2.o); // "Exception in thread \042" _r3.o = xmlvm_create_java_string_from_pool(805); XMLVM_CHECK_NPE(2) _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r5.o); XMLVM_CHECK_NPE(6) _r3.o = java_lang_Thread_getName__(_r6.o); XMLVM_CHECK_NPE(2) _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r3.o); // "\042 " _r3.o = xmlvm_create_java_string_from_pool(806); XMLVM_CHECK_NPE(2) _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r4.o); //java_lang_StringBuilder_toString__[5] XMLVM_CHECK_NPE(2) _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r2.o)->tib->vtable[5])(_r2.o); XMLVM_CHECK_NPE(1) java_io_PrintStream_print___java_lang_String(_r1.o, _r2.o); XMLVM_SOURCE_POSITION("Thread.java", 870) XMLVM_CHECK_NPE(0) java_lang_Throwable_printStackTrace__(_r0.o); goto label21; label96:; XMLVM_SOURCE_POSITION("Thread.java", 872) _r1.o = java_lang_System_GET_out(); _r2.o = __NEW_java_lang_StringBuilder(); XMLVM_CHECK_NPE(2) java_lang_StringBuilder___INIT___(_r2.o); // "Exception in thread \042" _r3.o = xmlvm_create_java_string_from_pool(805); XMLVM_CHECK_NPE(2) _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r5.o); XMLVM_CHECK_NPE(6) _r3.o = java_lang_Thread_getName__(_r6.o); XMLVM_CHECK_NPE(2) _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r3.o); // "\042 " _r3.o = xmlvm_create_java_string_from_pool(806); XMLVM_CHECK_NPE(2) _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r4.o); //java_lang_Object_getClass__[3] XMLVM_CHECK_NPE(0) _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[3])(_r0.o); XMLVM_CHECK_NPE(3) _r3.o = java_lang_Class_getName__(_r3.o); XMLVM_CHECK_NPE(2) _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r3.o); // ": " _r3.o = xmlvm_create_java_string_from_pool(49); XMLVM_CHECK_NPE(2) _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r3.o); //java_lang_Throwable_getMessage__[7] XMLVM_CHECK_NPE(0) _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Throwable*) _r0.o)->tib->vtable[7])(_r0.o); XMLVM_CHECK_NPE(2) _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r3.o); //java_lang_StringBuilder_toString__[5] XMLVM_CHECK_NPE(2) _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r2.o)->tib->vtable[5])(_r2.o); XMLVM_CHECK_NPE(1) java_io_PrintStream_println___java_lang_String(_r1.o, _r2.o); goto label21; label158:; java_lang_Thread* curThread_w5666aaac70b1c81 = (java_lang_Thread*)java_lang_Thread_currentThread__(); _r1.o = curThread_w5666aaac70b1c81->fields.java_lang_Thread.xmlvmException_; XMLVM_TRY_BEGIN(w5666aaac70b1c82) // Begin try java_lang_Object_releaseLockRecursive__(_r6.o); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac70b1c82) XMLVM_CATCH_SPECIFIC(w5666aaac70b1c82,java_lang_Object,158) XMLVM_CATCH_END(w5666aaac70b1c82) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac70b1c82) XMLVM_THROW_CUSTOM(_r1.o) //XMLVM_END_WRAPPER } //XMLVM_NATIVE[JAVA_BOOLEAN java_lang_Thread_stackTracesEnabled__()] void java_lang_Thread_threadTerminating__(JAVA_OBJECT me) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_threadTerminating__] XMLVM_ENTER_METHOD("java.lang.Thread", "threadTerminating", "?") volatile XMLVMElem _r0; volatile XMLVMElem _r1; volatile XMLVMElem _r2; volatile XMLVMElem _r3; _r3.o = me; XMLVM_SOURCE_POSITION("Thread.java", 894) java_lang_Object_acquireLockRecursive__(_r3.o); XMLVM_TRY_BEGIN(w5666aaac72b1b4) // Begin try XMLVM_SOURCE_POSITION("Thread.java", 895) _r0.o = java_lang_Thread_State_GET_TERMINATED(); XMLVM_CHECK_NPE(3) ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadState_ = _r0.o; XMLVM_SOURCE_POSITION("Thread.java", 896) java_lang_Object_releaseLockRecursive__(_r3.o); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac72b1b4) XMLVM_CATCH_SPECIFIC(w5666aaac72b1b4,java_lang_Object,29) XMLVM_CATCH_END(w5666aaac72b1b4) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac72b1b4) XMLVM_SOURCE_POSITION("Thread.java", 900) XMLVM_CHECK_NPE(3) _r0.i = ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.daemon_; if (_r0.i != 0) goto label28; XMLVM_SOURCE_POSITION("Thread.java", 901) XMLVM_CLASS_INIT(java_lang_Thread) _r0.o = __CLASS_java_lang_Thread; java_lang_Object_acquireLockRecursive__(_r0.o); XMLVM_TRY_BEGIN(w5666aaac72b1c11) // Begin try XMLVM_SOURCE_POSITION("Thread.java", 902) _r1.i = java_lang_Thread_GET_numberOfActiveNonDaemonThreads(); _r2.i = 1; _r1.i = _r1.i - _r2.i; java_lang_Thread_PUT_numberOfActiveNonDaemonThreads( _r1.i); XMLVM_SOURCE_POSITION("Thread.java", 904) _r1.i = java_lang_Thread_GET_numberOfActiveNonDaemonThreads(); if (_r1.i != 0) { XMLVM_MEMCPY(curThread_w5666aaac72b1c11->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac72b1c11, sizeof(XMLVM_JMP_BUF)); goto label27; }; XMLVM_SOURCE_POSITION("Thread.java", 905) _r1.i = 0; java_lang_System_exit___int(_r1.i); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac72b1c11) XMLVM_CATCH_SPECIFIC(w5666aaac72b1c11,java_lang_Object,32) XMLVM_CATCH_END(w5666aaac72b1c11) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac72b1c11) label27:; XMLVM_TRY_BEGIN(w5666aaac72b1c13) // Begin try XMLVM_SOURCE_POSITION("Thread.java", 907) java_lang_Object_releaseLockRecursive__(_r0.o); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac72b1c13) XMLVM_CATCH_SPECIFIC(w5666aaac72b1c13,java_lang_Object,32) XMLVM_CATCH_END(w5666aaac72b1c13) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac72b1c13) label28:; XMLVM_SOURCE_POSITION("Thread.java", 909) XMLVM_EXIT_METHOD() return; label29:; java_lang_Thread* curThread_w5666aaac72b1c18 = (java_lang_Thread*)java_lang_Thread_currentThread__(); _r0.o = curThread_w5666aaac72b1c18->fields.java_lang_Thread.xmlvmException_; XMLVM_TRY_BEGIN(w5666aaac72b1c19) // Begin try java_lang_Object_releaseLockRecursive__(_r3.o); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac72b1c19) XMLVM_CATCH_SPECIFIC(w5666aaac72b1c19,java_lang_Object,29) XMLVM_CATCH_END(w5666aaac72b1c19) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac72b1c19) XMLVM_THROW_CUSTOM(_r0.o) label32:; java_lang_Thread* curThread_w5666aaac72b1c22 = (java_lang_Thread*)java_lang_Thread_currentThread__(); _r1.o = curThread_w5666aaac72b1c22->fields.java_lang_Thread.xmlvmException_; XMLVM_TRY_BEGIN(w5666aaac72b1c23) // Begin try java_lang_Object_releaseLockRecursive__(_r0.o); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac72b1c23) XMLVM_CATCH_SPECIFIC(w5666aaac72b1c23,java_lang_Object,32) XMLVM_CATCH_END(w5666aaac72b1c23) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac72b1c23) XMLVM_THROW_CUSTOM(_r1.o) //XMLVM_END_WRAPPER } void java_lang_Thread_run__(JAVA_OBJECT me) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_run__] XMLVM_ENTER_METHOD("java.lang.Thread", "run", "?") XMLVMElem _r0; _r0.o = me; XMLVM_SOURCE_POSITION("Thread.java", 919) XMLVM_EXIT_METHOD() return; //XMLVM_END_WRAPPER } //XMLVM_NATIVE[void java_lang_Thread_setContextClassLoader___java_lang_ClassLoader(JAVA_OBJECT me, JAVA_OBJECT n1)] void java_lang_Thread_setDaemon___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_setDaemon___boolean] XMLVM_ENTER_METHOD("java.lang.Thread", "setDaemon", "?") volatile XMLVMElem _r0; volatile XMLVMElem _r1; volatile XMLVMElem _r2; volatile XMLVMElem _r3; _r2.o = me; _r3.i = n1; XMLVM_SOURCE_POSITION("Thread.java", 946) java_lang_Object_acquireLockRecursive__(_r2.o); XMLVM_TRY_BEGIN(w5666aaac75b1b5) // Begin try XMLVM_CHECK_NPE(2) _r0.o = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadState_; _r1.o = java_lang_Thread_State_GET_NEW(); if (_r0.o == _r1.o) { XMLVM_MEMCPY(curThread_w5666aaac75b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac75b1b5, sizeof(XMLVM_JMP_BUF)); goto label16; }; XMLVM_SOURCE_POSITION("Thread.java", 947) // Red class access removed: java.lang.IllegalThreadStateException::new-instance XMLVM_RED_CLASS_DEPENDENCY(); // Red class access removed: java.lang.IllegalThreadStateException:: XMLVM_RED_CLASS_DEPENDENCY(); XMLVM_THROW_CUSTOM(_r0.o) // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac75b1b5) XMLVM_CATCH_SPECIFIC(w5666aaac75b1b5,java_lang_Object,13) XMLVM_CATCH_END(w5666aaac75b1b5) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac75b1b5) label13:; java_lang_Thread* curThread_w5666aaac75b1b7 = (java_lang_Thread*)java_lang_Thread_currentThread__(); _r0.o = curThread_w5666aaac75b1b7->fields.java_lang_Thread.xmlvmException_; java_lang_Object_releaseLockRecursive__(_r2.o); XMLVM_THROW_CUSTOM(_r0.o) label16:; XMLVM_TRY_BEGIN(w5666aaac75b1c11) // Begin try XMLVM_SOURCE_POSITION("Thread.java", 949) XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.daemon_ = _r3.i; // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac75b1c11) XMLVM_CATCH_SPECIFIC(w5666aaac75b1c11,java_lang_Object,13) XMLVM_CATCH_END(w5666aaac75b1c11) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac75b1c11) XMLVM_SOURCE_POSITION("Thread.java", 950) java_lang_Object_releaseLockRecursive__(_r2.o); XMLVM_EXIT_METHOD() return; //XMLVM_END_WRAPPER } //XMLVM_NATIVE[void java_lang_Thread_setDefaultUncaughtExceptionHandler___java_lang_Thread_UncaughtExceptionHandler(JAVA_OBJECT n1)] void java_lang_Thread_setName___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_setName___java_lang_String] XMLVM_ENTER_METHOD("java.lang.Thread", "setName", "?") XMLVMElem _r0; XMLVMElem _r1; _r0.o = me; _r1.o = n1; XMLVM_SOURCE_POSITION("Thread.java", 977) XMLVM_CHECK_NPE(0) ((java_lang_Thread*) _r0.o)->fields.java_lang_Thread.threadName_ = _r1.o; XMLVM_SOURCE_POSITION("Thread.java", 978) XMLVM_EXIT_METHOD() return; //XMLVM_END_WRAPPER } //XMLVM_NATIVE[void java_lang_Thread_setPriority___int(JAVA_OBJECT me, JAVA_INT n1)] void java_lang_Thread_setThreadLocal___java_lang_ThreadLocal_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_setThreadLocal___java_lang_ThreadLocal_java_lang_Object] XMLVM_ENTER_METHOD("java.lang.Thread", "setThreadLocal", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; XMLVMElem _r3; _r1.o = me; _r2.o = n1; _r3.o = n2; XMLVM_SOURCE_POSITION("Thread.java", 1008) XMLVM_CHECK_NPE(1) _r0.o = ((java_lang_Thread*) _r1.o)->fields.java_lang_Thread.threadLocalMap_; XMLVM_CHECK_NPE(0) (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_put___java_lang_Object_java_lang_Object])(_r0.o, _r2.o, _r3.o); XMLVM_SOURCE_POSITION("Thread.java", 1009) XMLVM_EXIT_METHOD() return; //XMLVM_END_WRAPPER } //XMLVM_NATIVE[void java_lang_Thread_setUncaughtExceptionHandler___java_lang_Thread_UncaughtExceptionHandler(JAVA_OBJECT me, JAVA_OBJECT n1)] void java_lang_Thread_sleep___long(JAVA_LONG n1) { XMLVM_CLASS_INIT(java_lang_Thread) //XMLVM_BEGIN_WRAPPER[java_lang_Thread_sleep___long] XMLVM_ENTER_METHOD("java.lang.Thread", "sleep", "?") volatile XMLVMElem _r0; volatile XMLVMElem _r1; volatile XMLVMElem _r2; volatile XMLVMElem _r3; volatile XMLVMElem _r4; _r3.l = n1; XMLVM_SOURCE_POSITION("Thread.java", 1037) _r1.l = 0; _r1.i = _r3.l > _r1.l ? 1 : (_r3.l == _r1.l ? 0 : -1); if (_r1.i == 0) goto label16; XMLVM_SOURCE_POSITION("Thread.java", 1038) _r0.o = __NEW_java_lang_Object(); XMLVM_CHECK_NPE(0) java_lang_Object___INIT___(_r0.o); XMLVM_SOURCE_POSITION("Thread.java", 1039) java_lang_Object_acquireLockRecursive__(_r0.o); XMLVM_TRY_BEGIN(w5666aaac81b1c11) // Begin try XMLVM_SOURCE_POSITION("Thread.java", 1040) XMLVM_CHECK_NPE(0) java_lang_Object_wait___long(_r0.o, _r3.l); XMLVM_SOURCE_POSITION("Thread.java", 1041) java_lang_Object_releaseLockRecursive__(_r0.o); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac81b1c11) XMLVM_CATCH_SPECIFIC(w5666aaac81b1c11,java_lang_Object,17) XMLVM_CATCH_END(w5666aaac81b1c11) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac81b1c11) label16:; XMLVM_TRY_BEGIN(w5666aaac81b1c13) // Begin try XMLVM_SOURCE_POSITION("Thread.java", 1043) XMLVM_MEMCPY(curThread_w5666aaac81b1c13->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac81b1c13, sizeof(XMLVM_JMP_BUF)); XMLVM_EXIT_METHOD() return; // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac81b1c13) XMLVM_CATCH_SPECIFIC(w5666aaac81b1c13,java_lang_Object,17) XMLVM_CATCH_END(w5666aaac81b1c13) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac81b1c13) label17:; XMLVM_TRY_BEGIN(w5666aaac81b1c15) // Begin try java_lang_Thread* curThread_w5666aaac81b1c15aa = (java_lang_Thread*)java_lang_Thread_currentThread__(); _r1.o = curThread_w5666aaac81b1c15aa->fields.java_lang_Thread.xmlvmException_; java_lang_Object_releaseLockRecursive__(_r0.o); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac81b1c15) XMLVM_CATCH_SPECIFIC(w5666aaac81b1c15,java_lang_Object,17) XMLVM_CATCH_END(w5666aaac81b1c15) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac81b1c15) XMLVM_THROW_CUSTOM(_r1.o) //XMLVM_END_WRAPPER } void java_lang_Thread_sleep___long_int(JAVA_LONG n1, JAVA_INT n2) { XMLVM_CLASS_INIT(java_lang_Thread) //XMLVM_BEGIN_WRAPPER[java_lang_Thread_sleep___long_int] XMLVM_ENTER_METHOD("java.lang.Thread", "sleep", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; XMLVMElem _r3; XMLVMElem _r4; XMLVMElem _r5; XMLVMElem _r6; XMLVMElem _r7; _r5.l = n1; _r7.i = n2; _r3.l = 1; _r1.l = 0; XMLVM_SOURCE_POSITION("Thread.java", 1060) _r0.i = _r5.l > _r1.l ? 1 : (_r5.l == _r1.l ? 0 : -1); if (_r0.i >= 0) goto label16; XMLVM_SOURCE_POSITION("Thread.java", 1061) // Red class access removed: java.lang.IllegalArgumentException::new-instance XMLVM_RED_CLASS_DEPENDENCY(); // "sleep milliseconds must be greater than or equal to zero" _r1.o = xmlvm_create_java_string_from_pool(807); // Red class access removed: java.lang.IllegalArgumentException:: XMLVM_RED_CLASS_DEPENDENCY(); XMLVM_THROW_CUSTOM(_r0.o) label16:; XMLVM_SOURCE_POSITION("Thread.java", 1062) if (_r7.i < 0) goto label23; _r0.i = 1000000; if (_r7.i < _r0.i) goto label31; label23:; XMLVM_SOURCE_POSITION("Thread.java", 1063) // Red class access removed: java.lang.IllegalArgumentException::new-instance XMLVM_RED_CLASS_DEPENDENCY(); // "sleep nanoseconds must be greater than or equal to zero and less than 1000000" _r1.o = xmlvm_create_java_string_from_pool(808); // Red class access removed: java.lang.IllegalArgumentException:: XMLVM_RED_CLASS_DEPENDENCY(); XMLVM_THROW_CUSTOM(_r0.o) label31:; XMLVM_SOURCE_POSITION("Thread.java", 1066) _r0.i = _r5.l > _r1.l ? 1 : (_r5.l == _r1.l ? 0 : -1); if (_r0.i != 0) goto label41; if (_r7.i == 0) goto label41; XMLVM_SOURCE_POSITION("Thread.java", 1067) java_lang_Thread_sleep___long(_r3.l); label40:; XMLVM_SOURCE_POSITION("Thread.java", 1074) XMLVM_EXIT_METHOD() return; label41:; XMLVM_SOURCE_POSITION("Thread.java", 1069) _r0.i = 500000; if (_r7.i < _r0.i) goto label47; XMLVM_SOURCE_POSITION("Thread.java", 1070) _r5.l = _r5.l + _r3.l; label47:; XMLVM_SOURCE_POSITION("Thread.java", 1072) java_lang_Thread_sleep___long(_r5.l); goto label40; //XMLVM_END_WRAPPER } void java_lang_Thread_start__(JAVA_OBJECT me) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_start__] XMLVM_ENTER_METHOD("java.lang.Thread", "start", "?") volatile XMLVMElem _r0; volatile XMLVMElem _r1; volatile XMLVMElem _r2; _r2.o = me; XMLVM_SOURCE_POSITION("Thread.java", 1085) java_lang_Object_acquireLockRecursive__(_r2.o); XMLVM_TRY_BEGIN(w5666aaac83b1b4) // Begin try XMLVM_SOURCE_POSITION("Thread.java", 1086) XMLVM_CHECK_NPE(2) _r0.o = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadState_; _r1.o = java_lang_Thread_State_GET_NEW(); if (_r0.o == _r1.o) { XMLVM_MEMCPY(curThread_w5666aaac83b1b4->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac83b1b4, sizeof(XMLVM_JMP_BUF)); goto label16; }; XMLVM_SOURCE_POSITION("Thread.java", 1087) // Red class access removed: java.lang.IllegalThreadStateException::new-instance XMLVM_RED_CLASS_DEPENDENCY(); // Red class access removed: java.lang.IllegalThreadStateException:: XMLVM_RED_CLASS_DEPENDENCY(); XMLVM_THROW_CUSTOM(_r0.o) // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac83b1b4) XMLVM_CATCH_SPECIFIC(w5666aaac83b1b4,java_lang_Object,13) XMLVM_CATCH_END(w5666aaac83b1b4) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac83b1b4) label13:; XMLVM_TRY_BEGIN(w5666aaac83b1b6) // Begin try XMLVM_SOURCE_POSITION("Thread.java", 1090) java_lang_Thread* curThread_w5666aaac83b1b6ab1 = (java_lang_Thread*)java_lang_Thread_currentThread__(); _r0.o = curThread_w5666aaac83b1b6ab1->fields.java_lang_Thread.xmlvmException_; java_lang_Object_releaseLockRecursive__(_r2.o); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac83b1b6) XMLVM_CATCH_SPECIFIC(w5666aaac83b1b6,java_lang_Object,13) XMLVM_CATCH_END(w5666aaac83b1b6) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac83b1b6) XMLVM_THROW_CUSTOM(_r0.o) label16:; XMLVM_TRY_BEGIN(w5666aaac83b1b9) // Begin try XMLVM_SOURCE_POSITION("Thread.java", 1089) _r0.o = java_lang_Thread_State_GET_RUNNABLE(); XMLVM_CHECK_NPE(2) ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadState_ = _r0.o; java_lang_Object_releaseLockRecursive__(_r2.o); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac83b1b9) XMLVM_CATCH_SPECIFIC(w5666aaac83b1b9,java_lang_Object,13) XMLVM_CATCH_END(w5666aaac83b1b9) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac83b1b9) XMLVM_SOURCE_POSITION("Thread.java", 1094) XMLVM_CHECK_NPE(2) _r0.i = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.daemon_; if (_r0.i != 0) goto label35; XMLVM_SOURCE_POSITION("Thread.java", 1095) XMLVM_CLASS_INIT(java_lang_Thread) _r0.o = __CLASS_java_lang_Thread; java_lang_Object_acquireLockRecursive__(_r0.o); XMLVM_TRY_BEGIN(w5666aaac83b1c16) // Begin try XMLVM_SOURCE_POSITION("Thread.java", 1096) _r1.i = java_lang_Thread_GET_numberOfActiveNonDaemonThreads(); _r1.i = _r1.i + 1; java_lang_Thread_PUT_numberOfActiveNonDaemonThreads( _r1.i); XMLVM_SOURCE_POSITION("Thread.java", 1097) java_lang_Object_releaseLockRecursive__(_r0.o); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac83b1c16) XMLVM_CATCH_SPECIFIC(w5666aaac83b1c16,java_lang_Object,44) XMLVM_CATCH_END(w5666aaac83b1c16) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac83b1c16) label35:; XMLVM_SOURCE_POSITION("Thread.java", 1099) XMLVM_CHECK_NPE(2) _r0.o = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadGroup_; XMLVM_CHECK_NPE(0) java_lang_ThreadGroup_add___java_lang_Thread(_r0.o, _r2.o); XMLVM_SOURCE_POSITION("Thread.java", 1100) XMLVM_CHECK_NPE(2) java_lang_Thread_start0__(_r2.o); XMLVM_SOURCE_POSITION("Thread.java", 1101) XMLVM_EXIT_METHOD() return; label44:; java_lang_Thread* curThread_w5666aaac83b1c26 = (java_lang_Thread*)java_lang_Thread_currentThread__(); _r1.o = curThread_w5666aaac83b1c26->fields.java_lang_Thread.xmlvmException_; XMLVM_TRY_BEGIN(w5666aaac83b1c27) // Begin try java_lang_Object_releaseLockRecursive__(_r0.o); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac83b1c27) XMLVM_CATCH_SPECIFIC(w5666aaac83b1c27,java_lang_Object,44) XMLVM_CATCH_END(w5666aaac83b1c27) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac83b1c27) XMLVM_THROW_CUSTOM(_r1.o) //XMLVM_END_WRAPPER } //XMLVM_NATIVE[void java_lang_Thread_start0__(JAVA_OBJECT me)] //XMLVM_NATIVE[void java_lang_Thread_stop__(JAVA_OBJECT me)] //XMLVM_NATIVE[void java_lang_Thread_stop___java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1)] //XMLVM_NATIVE[void java_lang_Thread_suspend__(JAVA_OBJECT me)] JAVA_OBJECT java_lang_Thread_toString__(JAVA_OBJECT me) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_toString__] XMLVM_ENTER_METHOD("java.lang.Thread", "toString", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVMElem _r2; XMLVMElem _r3; _r3.o = me; // "," _r2.o = xmlvm_create_java_string_from_pool(24); XMLVM_SOURCE_POSITION("Thread.java", 1158) _r0.o = __NEW_java_lang_StringBuilder(); XMLVM_CHECK_NPE(0) java_lang_StringBuilder___INIT___(_r0.o); // "Thread[" _r1.o = xmlvm_create_java_string_from_pool(809); XMLVM_CHECK_NPE(0) _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o); XMLVM_CHECK_NPE(3) _r1.o = ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadName_; XMLVM_CHECK_NPE(0) _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o); // "," _r1.o = xmlvm_create_java_string_from_pool(24); XMLVM_CHECK_NPE(0) _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r2.o); XMLVM_CHECK_NPE(3) _r1.i = ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.priority_; XMLVM_CHECK_NPE(0) _r0.o = java_lang_StringBuilder_append___int(_r0.o, _r1.i); // "," _r1.o = xmlvm_create_java_string_from_pool(24); XMLVM_CHECK_NPE(0) _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r2.o); XMLVM_CHECK_NPE(3) _r1.o = ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadGroup_; if (_r1.o != JAVA_NULL) goto label58; // "" _r1.o = xmlvm_create_java_string_from_pool(21); label43:; XMLVM_CHECK_NPE(0) _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o); // "]" _r1.o = xmlvm_create_java_string_from_pool(183); XMLVM_CHECK_NPE(0) _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o); //java_lang_StringBuilder_toString__[5] XMLVM_CHECK_NPE(0) _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o); XMLVM_EXIT_METHOD() return _r0.o; label58:; XMLVM_CHECK_NPE(3) _r1.o = ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadGroup_; XMLVM_CHECK_NPE(1) _r1.o = java_lang_ThreadGroup_getName__(_r1.o); goto label43; //XMLVM_END_WRAPPER } //XMLVM_NATIVE[void java_lang_Thread_yield__()] //XMLVM_NATIVE[JAVA_BOOLEAN java_lang_Thread_holdsLock___java_lang_Object(JAVA_OBJECT n1)] void java_lang_Thread_setWaitingCondition___org_xmlvm_runtime_Condition(JAVA_OBJECT me, JAVA_OBJECT n1) { //XMLVM_BEGIN_WRAPPER[java_lang_Thread_setWaitingCondition___org_xmlvm_runtime_Condition] XMLVM_ENTER_METHOD("java.lang.Thread", "setWaitingCondition", "?") volatile XMLVMElem _r0; volatile XMLVMElem _r1; volatile XMLVMElem _r2; _r1.o = me; _r2.o = n1; XMLVM_SOURCE_POSITION("Thread.java", 1201) java_lang_Object_acquireLockRecursive__(_r1.o); XMLVM_TRY_BEGIN(w5666aaac91b1b5) // Begin try XMLVM_SOURCE_POSITION("Thread.java", 1202) XMLVM_CHECK_NPE(1) ((java_lang_Thread*) _r1.o)->fields.java_lang_Thread.waitingCondition_ = _r2.o; XMLVM_SOURCE_POSITION("Thread.java", 1203) java_lang_Object_releaseLockRecursive__(_r1.o); XMLVM_SOURCE_POSITION("Thread.java", 1204) XMLVM_MEMCPY(curThread_w5666aaac91b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac91b1b5, sizeof(XMLVM_JMP_BUF)); XMLVM_EXIT_METHOD() return; // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac91b1b5) XMLVM_CATCH_SPECIFIC(w5666aaac91b1b5,java_lang_Object,5) XMLVM_CATCH_END(w5666aaac91b1b5) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac91b1b5) label5:; XMLVM_TRY_BEGIN(w5666aaac91b1b7) // Begin try java_lang_Thread* curThread_w5666aaac91b1b7aa = (java_lang_Thread*)java_lang_Thread_currentThread__(); _r0.o = curThread_w5666aaac91b1b7aa->fields.java_lang_Thread.xmlvmException_; java_lang_Object_releaseLockRecursive__(_r1.o); // End try XMLVM_TRY_END XMLVM_CATCH_BEGIN(w5666aaac91b1b7) XMLVM_CATCH_SPECIFIC(w5666aaac91b1b7,java_lang_Object,5) XMLVM_CATCH_END(w5666aaac91b1b7) XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac91b1b7) XMLVM_THROW_CUSTOM(_r0.o) //XMLVM_END_WRAPPER } void java_lang_Thread___CLINIT_() { //XMLVM_BEGIN_WRAPPER[java_lang_Thread___CLINIT___] XMLVM_ENTER_METHOD("java.lang.Thread", "", "?") XMLVMElem _r0; XMLVMElem _r1; XMLVM_SOURCE_POSITION("Thread.java", 115) _r0.o = __NEW_org_xmlvm_runtime_Mutex(); XMLVM_CHECK_NPE(0) org_xmlvm_runtime_Mutex___INIT___(_r0.o); java_lang_Thread_PUT_threadSafetyMutex( _r0.o); XMLVM_SOURCE_POSITION("Thread.java", 118) _r0.l = 2; java_lang_Thread_PUT_nextThreadId( _r0.l); XMLVM_SOURCE_POSITION("Thread.java", 127) _r0.i = 1; java_lang_Thread_PUT_numberOfActiveNonDaemonThreads( _r0.i); XMLVM_SOURCE_POSITION("Thread.java", 148) _r0.o = __NEW_java_util_HashMap(); XMLVM_CHECK_NPE(0) java_util_HashMap___INIT___(_r0.o); java_lang_Thread_PUT_threadMap( _r0.o); XMLVM_SOURCE_POSITION("Thread.java", 153) _r1.o = __NEW_java_lang_ThreadGroup(); _r0.o = JAVA_NULL; _r0.o = _r0.o; XMLVM_CHECK_NPE(1) java_lang_ThreadGroup___INIT____java_lang_ThreadGroup(_r1.o, _r0.o); java_lang_Thread_PUT_mainThreadGroup( _r1.o); XMLVM_EXIT_METHOD() return; //XMLVM_END_WRAPPER }