1 #include "xmlvm.h"
2 #include "java_lang_Class.h"
3 #include "java_lang_System.h"
4 #include "java_lang_ref_Reference.h"
5 
6 #include "java_lang_ref_ReferenceQueue.h"
7 
8 #define XMLVM_CURRENT_CLASS_NAME ReferenceQueue
9 #define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_ref_ReferenceQueue
10 
11 __TIB_DEFINITION_java_lang_ref_ReferenceQueue __TIB_java_lang_ref_ReferenceQueue = {
12     0, // classInitializationBegan
13     0, // classInitialized
14     -1, // initializerThreadId
15     __INIT_java_lang_ref_ReferenceQueue, // classInitializer
16     "java.lang.ref.ReferenceQueue", // className
17     "java.lang.ref", // package
18     JAVA_NULL, // enclosingClassName
19     JAVA_NULL, // enclosingMethodName
20     "<T:Ljava/lang/Object;>Ljava/lang/Object;", // signature
21     (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
22     sizeof(java_lang_ref_ReferenceQueue), // sizeInstance
23     XMLVM_TYPE_CLASS};
24 
25 JAVA_OBJECT __CLASS_java_lang_ref_ReferenceQueue;
26 JAVA_OBJECT __CLASS_java_lang_ref_ReferenceQueue_1ARRAY;
27 JAVA_OBJECT __CLASS_java_lang_ref_ReferenceQueue_2ARRAY;
28 JAVA_OBJECT __CLASS_java_lang_ref_ReferenceQueue_3ARRAY;
29 //XMLVM_BEGIN_IMPLEMENTATION
30 //XMLVM_END_IMPLEMENTATION
31 
32 static JAVA_INT _STATIC_java_lang_ref_ReferenceQueue_DEFAULT_QUEUE_SIZE;
33 
34 #include "xmlvm-reflection.h"
35 
36 static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
37 };
38 
39 static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
40 };
41 
constructor_dispatcher(JAVA_OBJECT constructor,JAVA_OBJECT arguments)42 static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
43 {
44     XMLVM_NOT_IMPLEMENTED();
45 }
46 
47 static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
48 };
49 
method_dispatcher(JAVA_OBJECT method,JAVA_OBJECT receiver,JAVA_OBJECT arguments)50 static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
51 {
52     XMLVM_NOT_IMPLEMENTED();
53 }
54 
__INIT_java_lang_ref_ReferenceQueue()55 void __INIT_java_lang_ref_ReferenceQueue()
56 {
57     staticInitializerLock(&__TIB_java_lang_ref_ReferenceQueue);
58 
59     // While the static initializer mutex is locked, locally store the value of
60     // whether class initialization began or not
61     int initBegan = __TIB_java_lang_ref_ReferenceQueue.classInitializationBegan;
62 
63     // Whether or not class initialization had already began, it has begun now
64     __TIB_java_lang_ref_ReferenceQueue.classInitializationBegan = 1;
65 
66     staticInitializerUnlock(&__TIB_java_lang_ref_ReferenceQueue);
67 
68     JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
69     if (initBegan) {
70         if (__TIB_java_lang_ref_ReferenceQueue.initializerThreadId != curThreadId) {
71             // Busy wait until the other thread finishes initializing this class
72             while (!__TIB_java_lang_ref_ReferenceQueue.classInitialized) {
73                 // do nothing
74             }
75         }
76     } else {
77         __TIB_java_lang_ref_ReferenceQueue.initializerThreadId = curThreadId;
78         XMLVM_CLASS_USED("java.lang.ref.ReferenceQueue")
79         __INIT_IMPL_java_lang_ref_ReferenceQueue();
80     }
81 }
82 
__INIT_IMPL_java_lang_ref_ReferenceQueue()83 void __INIT_IMPL_java_lang_ref_ReferenceQueue()
84 {
85     // Initialize base class if necessary
86     XMLVM_CLASS_INIT(java_lang_Object)
87     __TIB_java_lang_ref_ReferenceQueue.newInstanceFunc = __NEW_INSTANCE_java_lang_ref_ReferenceQueue;
88     // Copy vtable from base class
89     XMLVM_MEMCPY(__TIB_java_lang_ref_ReferenceQueue.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
90     // Initialize vtable for this class
91     // Initialize interface information
92     __TIB_java_lang_ref_ReferenceQueue.numImplementedInterfaces = 0;
93     __TIB_java_lang_ref_ReferenceQueue.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
94 
95     // Initialize interfaces if necessary and assign tib to implementedInterfaces
96     _STATIC_java_lang_ref_ReferenceQueue_DEFAULT_QUEUE_SIZE = 128;
97 
98     __TIB_java_lang_ref_ReferenceQueue.declaredFields = &__field_reflection_data[0];
99     __TIB_java_lang_ref_ReferenceQueue.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
100     __TIB_java_lang_ref_ReferenceQueue.constructorDispatcherFunc = constructor_dispatcher;
101     __TIB_java_lang_ref_ReferenceQueue.declaredConstructors = &__constructor_reflection_data[0];
102     __TIB_java_lang_ref_ReferenceQueue.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
103     __TIB_java_lang_ref_ReferenceQueue.methodDispatcherFunc = method_dispatcher;
104     __TIB_java_lang_ref_ReferenceQueue.declaredMethods = &__method_reflection_data[0];
105     __TIB_java_lang_ref_ReferenceQueue.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
106     __CLASS_java_lang_ref_ReferenceQueue = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_ref_ReferenceQueue);
107     __TIB_java_lang_ref_ReferenceQueue.clazz = __CLASS_java_lang_ref_ReferenceQueue;
108     __TIB_java_lang_ref_ReferenceQueue.baseType = JAVA_NULL;
109     __CLASS_java_lang_ref_ReferenceQueue_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ref_ReferenceQueue);
110     __CLASS_java_lang_ref_ReferenceQueue_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ref_ReferenceQueue_1ARRAY);
111     __CLASS_java_lang_ref_ReferenceQueue_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ref_ReferenceQueue_2ARRAY);
112     //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_ref_ReferenceQueue]
113     //XMLVM_END_WRAPPER
114 
115     __TIB_java_lang_ref_ReferenceQueue.classInitialized = 1;
116 }
117 
__DELETE_java_lang_ref_ReferenceQueue(void * me,void * client_data)118 void __DELETE_java_lang_ref_ReferenceQueue(void* me, void* client_data)
119 {
120     //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_ref_ReferenceQueue]
121     //XMLVM_END_WRAPPER
122 }
123 
__INIT_INSTANCE_MEMBERS_java_lang_ref_ReferenceQueue(JAVA_OBJECT me,int derivedClassWillRegisterFinalizer)124 void __INIT_INSTANCE_MEMBERS_java_lang_ref_ReferenceQueue(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
125 {
126     __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
127     ((java_lang_ref_ReferenceQueue*) me)->fields.java_lang_ref_ReferenceQueue.references_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
128     ((java_lang_ref_ReferenceQueue*) me)->fields.java_lang_ref_ReferenceQueue.head_ = 0;
129     ((java_lang_ref_ReferenceQueue*) me)->fields.java_lang_ref_ReferenceQueue.tail_ = 0;
130     ((java_lang_ref_ReferenceQueue*) me)->fields.java_lang_ref_ReferenceQueue.empty_ = 0;
131     //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_ref_ReferenceQueue]
132     //XMLVM_END_WRAPPER
133 }
134 
__NEW_java_lang_ref_ReferenceQueue()135 JAVA_OBJECT __NEW_java_lang_ref_ReferenceQueue()
136 {    XMLVM_CLASS_INIT(java_lang_ref_ReferenceQueue)
137 java_lang_ref_ReferenceQueue* me = (java_lang_ref_ReferenceQueue*) XMLVM_MALLOC(sizeof(java_lang_ref_ReferenceQueue));
138     me->tib = &__TIB_java_lang_ref_ReferenceQueue;
139     __INIT_INSTANCE_MEMBERS_java_lang_ref_ReferenceQueue(me, 0);
140     //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_ref_ReferenceQueue]
141     //XMLVM_END_WRAPPER
142     return me;
143 }
144 
__NEW_INSTANCE_java_lang_ref_ReferenceQueue()145 JAVA_OBJECT __NEW_INSTANCE_java_lang_ref_ReferenceQueue()
146 {
147     JAVA_OBJECT me = JAVA_NULL;
148     me = __NEW_java_lang_ref_ReferenceQueue();
149     java_lang_ref_ReferenceQueue___INIT___(me);
150     return me;
151 }
152 
java_lang_ref_ReferenceQueue_GET_DEFAULT_QUEUE_SIZE()153 JAVA_INT java_lang_ref_ReferenceQueue_GET_DEFAULT_QUEUE_SIZE()
154 {
155     XMLVM_CLASS_INIT(java_lang_ref_ReferenceQueue)
156     return _STATIC_java_lang_ref_ReferenceQueue_DEFAULT_QUEUE_SIZE;
157 }
158 
java_lang_ref_ReferenceQueue_PUT_DEFAULT_QUEUE_SIZE(JAVA_INT v)159 void java_lang_ref_ReferenceQueue_PUT_DEFAULT_QUEUE_SIZE(JAVA_INT v)
160 {
161     XMLVM_CLASS_INIT(java_lang_ref_ReferenceQueue)
162 _STATIC_java_lang_ref_ReferenceQueue_DEFAULT_QUEUE_SIZE = v;
163 }
164 
java_lang_ref_ReferenceQueue___INIT___(JAVA_OBJECT me)165 void java_lang_ref_ReferenceQueue___INIT___(JAVA_OBJECT me)
166 {
167     //XMLVM_BEGIN_WRAPPER[java_lang_ref_ReferenceQueue___INIT___]
168     XMLVM_ENTER_METHOD("java.lang.ref.ReferenceQueue", "<init>", "?")
169     XMLVMElem _r0;
170     XMLVMElem _r1;
171     XMLVMElem _r2;
172     _r2.o = me;
173     _r1.i = 0;
174     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 43)
175     XMLVM_CHECK_NPE(2)
176     java_lang_Object___INIT___(_r2.o);
177     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 44)
178     _r0.i = 128;
179     XMLVM_CHECK_NPE(2)
180     _r0.o = java_lang_ref_ReferenceQueue_newArray___int(_r2.o, _r0.i);
181     XMLVM_CHECK_NPE(2)
182     ((java_lang_ref_ReferenceQueue*) _r2.o)->fields.java_lang_ref_ReferenceQueue.references_ = _r0.o;
183     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 45)
184     XMLVM_CHECK_NPE(2)
185     ((java_lang_ref_ReferenceQueue*) _r2.o)->fields.java_lang_ref_ReferenceQueue.head_ = _r1.i;
186     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 46)
187     XMLVM_CHECK_NPE(2)
188     ((java_lang_ref_ReferenceQueue*) _r2.o)->fields.java_lang_ref_ReferenceQueue.tail_ = _r1.i;
189     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 47)
190     _r0.i = 1;
191     XMLVM_CHECK_NPE(2)
192     ((java_lang_ref_ReferenceQueue*) _r2.o)->fields.java_lang_ref_ReferenceQueue.empty_ = _r0.i;
193     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 48)
194     XMLVM_EXIT_METHOD()
195     return;
196     //XMLVM_END_WRAPPER
197 }
198 
java_lang_ref_ReferenceQueue_newArray___int(JAVA_OBJECT me,JAVA_INT n1)199 JAVA_OBJECT java_lang_ref_ReferenceQueue_newArray___int(JAVA_OBJECT me, JAVA_INT n1)
200 {
201     //XMLVM_BEGIN_WRAPPER[java_lang_ref_ReferenceQueue_newArray___int]
202     XMLVM_ENTER_METHOD("java.lang.ref.ReferenceQueue", "newArray", "?")
203     XMLVMElem _r0;
204     XMLVMElem _r1;
205     XMLVMElem _r2;
206     _r1.o = me;
207     _r2.i = n1;
208     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 52)
209     XMLVM_CLASS_INIT(java_lang_ref_Reference)
210     _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_ref_Reference, _r2.i);
211     XMLVM_EXIT_METHOD()
212     return _r0.o;
213     //XMLVM_END_WRAPPER
214 }
215 
java_lang_ref_ReferenceQueue_poll__(JAVA_OBJECT me)216 JAVA_OBJECT java_lang_ref_ReferenceQueue_poll__(JAVA_OBJECT me)
217 {
218     //XMLVM_BEGIN_WRAPPER[java_lang_ref_ReferenceQueue_poll__]
219     XMLVM_ENTER_METHOD("java.lang.ref.ReferenceQueue", "poll", "?")
220     volatile XMLVMElem _r0;
221     volatile XMLVMElem _r1;
222     volatile XMLVMElem _r2;
223     volatile XMLVMElem _r3;
224     _r3.o = me;
225     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 65)
226     java_lang_Object_acquireLockRecursive__(_r3.o);
227     XMLVM_TRY_BEGIN(w1725aaab7b1b4)
228     // Begin try
229     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 66)
230     XMLVM_CHECK_NPE(3)
231     _r0.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.empty_;
232     if (_r0.i == 0) { XMLVM_MEMCPY(curThread_w1725aaab7b1b4->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab7b1b4, sizeof(XMLVM_JMP_BUF)); goto label8; };
233     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 67)
234     java_lang_Object_releaseLockRecursive__(_r3.o);
235     _r0.o = JAVA_NULL;
236     // End try
237     XMLVM_TRY_END
238     XMLVM_CATCH_BEGIN(w1725aaab7b1b4)
239         XMLVM_CATCH_SPECIFIC(w1725aaab7b1b4,java_lang_Object,42)
240     XMLVM_CATCH_END(w1725aaab7b1b4)
241     XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab7b1b4)
242     label7:;
243     XMLVM_TRY_BEGIN(w1725aaab7b1b6)
244     // Begin try
245     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 78)
246     XMLVM_MEMCPY(curThread_w1725aaab7b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab7b1b6, sizeof(XMLVM_JMP_BUF));
247     XMLVM_EXIT_METHOD()
248     return _r0.o;
249     // End try
250     XMLVM_TRY_END
251     XMLVM_CATCH_BEGIN(w1725aaab7b1b6)
252         XMLVM_CATCH_SPECIFIC(w1725aaab7b1b6,java_lang_Object,42)
253     XMLVM_CATCH_END(w1725aaab7b1b6)
254     XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab7b1b6)
255     label8:;
256     XMLVM_TRY_BEGIN(w1725aaab7b1b8)
257     // Begin try
258     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 69)
259     XMLVM_CHECK_NPE(3)
260     _r0.o = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.references_;
261     XMLVM_CHECK_NPE(3)
262     _r1.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.head_;
263     _r2.i = _r1.i + 1;
264     XMLVM_CHECK_NPE(3)
265     ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.head_ = _r2.i;
266     XMLVM_CHECK_NPE(0)
267     XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
268     _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
269     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 70)
270     XMLVM_CHECK_NPE(0)
271     java_lang_ref_Reference_dequeue__(_r0.o);
272     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 71)
273     XMLVM_CHECK_NPE(3)
274     _r1.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.head_;
275     XMLVM_CHECK_NPE(3)
276     _r2.o = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.references_;
277     _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
278     if (_r1.i != _r2.i) { XMLVM_MEMCPY(curThread_w1725aaab7b1b8->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab7b1b8, sizeof(XMLVM_JMP_BUF)); goto label31; };
279     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 72)
280     _r1.i = 0;
281     XMLVM_CHECK_NPE(3)
282     ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.head_ = _r1.i;
283     // End try
284     XMLVM_TRY_END
285     XMLVM_CATCH_BEGIN(w1725aaab7b1b8)
286         XMLVM_CATCH_SPECIFIC(w1725aaab7b1b8,java_lang_Object,42)
287     XMLVM_CATCH_END(w1725aaab7b1b8)
288     XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab7b1b8)
289     label31:;
290     XMLVM_TRY_BEGIN(w1725aaab7b1c10)
291     // Begin try
292     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 74)
293     XMLVM_CHECK_NPE(3)
294     _r1.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.head_;
295     XMLVM_CHECK_NPE(3)
296     _r2.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.tail_;
297     if (_r1.i != _r2.i) { XMLVM_MEMCPY(curThread_w1725aaab7b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab7b1c10, sizeof(XMLVM_JMP_BUF)); goto label40; };
298     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 75)
299     _r1.i = 1;
300     XMLVM_CHECK_NPE(3)
301     ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.empty_ = _r1.i;
302     // End try
303     XMLVM_TRY_END
304     XMLVM_CATCH_BEGIN(w1725aaab7b1c10)
305         XMLVM_CATCH_SPECIFIC(w1725aaab7b1c10,java_lang_Object,42)
306     XMLVM_CATCH_END(w1725aaab7b1c10)
307     XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab7b1c10)
308     label40:;
309     XMLVM_TRY_BEGIN(w1725aaab7b1c12)
310     // Begin try
311     java_lang_Object_releaseLockRecursive__(_r3.o);
312     { XMLVM_MEMCPY(curThread_w1725aaab7b1c12->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab7b1c12, sizeof(XMLVM_JMP_BUF)); goto label7; };
313     // End try
314     XMLVM_TRY_END
315     XMLVM_CATCH_BEGIN(w1725aaab7b1c12)
316         XMLVM_CATCH_SPECIFIC(w1725aaab7b1c12,java_lang_Object,42)
317     XMLVM_CATCH_END(w1725aaab7b1c12)
318     XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab7b1c12)
319     label42:;
320     XMLVM_TRY_BEGIN(w1725aaab7b1c14)
321     // Begin try
322     java_lang_Thread* curThread_w1725aaab7b1c14aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
323     _r0.o = curThread_w1725aaab7b1c14aa->fields.java_lang_Thread.xmlvmException_;
324     java_lang_Object_releaseLockRecursive__(_r3.o);
325     // End try
326     XMLVM_TRY_END
327     XMLVM_CATCH_BEGIN(w1725aaab7b1c14)
328         XMLVM_CATCH_SPECIFIC(w1725aaab7b1c14,java_lang_Object,42)
329     XMLVM_CATCH_END(w1725aaab7b1c14)
330     XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab7b1c14)
331     XMLVM_THROW_CUSTOM(_r0.o)
332     //XMLVM_END_WRAPPER
333 }
334 
java_lang_ref_ReferenceQueue_remove__(JAVA_OBJECT me)335 JAVA_OBJECT java_lang_ref_ReferenceQueue_remove__(JAVA_OBJECT me)
336 {
337     //XMLVM_BEGIN_WRAPPER[java_lang_ref_ReferenceQueue_remove__]
338     XMLVM_ENTER_METHOD("java.lang.ref.ReferenceQueue", "remove", "?")
339     XMLVMElem _r0;
340     XMLVMElem _r1;
341     XMLVMElem _r2;
342     _r2.o = me;
343     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 91)
344     _r0.l = 0;
345     XMLVM_CHECK_NPE(2)
346     _r0.o = java_lang_ref_ReferenceQueue_remove___long(_r2.o, _r0.l);
347     XMLVM_EXIT_METHOD()
348     return _r0.o;
349     //XMLVM_END_WRAPPER
350 }
351 
java_lang_ref_ReferenceQueue_remove___long(JAVA_OBJECT me,JAVA_LONG n1)352 JAVA_OBJECT java_lang_ref_ReferenceQueue_remove___long(JAVA_OBJECT me, JAVA_LONG n1)
353 {
354     //XMLVM_BEGIN_WRAPPER[java_lang_ref_ReferenceQueue_remove___long]
355     XMLVM_ENTER_METHOD("java.lang.ref.ReferenceQueue", "remove", "?")
356     volatile XMLVMElem _r0;
357     volatile XMLVMElem _r1;
358     volatile XMLVMElem _r2;
359     volatile XMLVMElem _r3;
360     volatile XMLVMElem _r4;
361     volatile XMLVMElem _r5;
362     _r3.o = me;
363     _r4.l = n1;
364     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 112)
365     _r0.l = 0;
366     _r0.i = _r4.l > _r0.l ? 1 : (_r4.l == _r0.l ? 0 : -1);
367     if (_r0.i >= 0) goto label12;
368     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 113)
369 
370 
371     // Red class access removed: java.lang.IllegalArgumentException::new-instance
372     XMLVM_RED_CLASS_DEPENDENCY();
373 
374 
375     // Red class access removed: java.lang.IllegalArgumentException::<init>
376     XMLVM_RED_CLASS_DEPENDENCY();
377     XMLVM_THROW_CUSTOM(_r0.o)
378     label12:;
379     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 117)
380     java_lang_Object_acquireLockRecursive__(_r3.o);
381     XMLVM_TRY_BEGIN(w1725aaab9b1c14)
382     // Begin try
383     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 118)
384     XMLVM_CHECK_NPE(3)
385     _r0.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.empty_;
386     if (_r0.i == 0) { XMLVM_MEMCPY(curThread_w1725aaab9b1c14->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab9b1c14, sizeof(XMLVM_JMP_BUF)); goto label27; };
387     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 119)
388     XMLVM_CHECK_NPE(3)
389     java_lang_Object_wait___long(_r3.o, _r4.l);
390     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 120)
391     XMLVM_CHECK_NPE(3)
392     _r0.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.empty_;
393     if (_r0.i == 0) { XMLVM_MEMCPY(curThread_w1725aaab9b1c14->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab9b1c14, sizeof(XMLVM_JMP_BUF)); goto label27; };
394     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 121)
395     java_lang_Object_releaseLockRecursive__(_r3.o);
396     _r0.o = JAVA_NULL;
397     // End try
398     XMLVM_TRY_END
399     XMLVM_CATCH_BEGIN(w1725aaab9b1c14)
400         XMLVM_CATCH_SPECIFIC(w1725aaab9b1c14,java_lang_Object,61)
401     XMLVM_CATCH_END(w1725aaab9b1c14)
402     XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab9b1c14)
403     label26:;
404     XMLVM_TRY_BEGIN(w1725aaab9b1c16)
405     // Begin try
406     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 135)
407     XMLVM_MEMCPY(curThread_w1725aaab9b1c16->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab9b1c16, sizeof(XMLVM_JMP_BUF));
408     XMLVM_EXIT_METHOD()
409     return _r0.o;
410     // End try
411     XMLVM_TRY_END
412     XMLVM_CATCH_BEGIN(w1725aaab9b1c16)
413         XMLVM_CATCH_SPECIFIC(w1725aaab9b1c16,java_lang_Object,61)
414     XMLVM_CATCH_END(w1725aaab9b1c16)
415     XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab9b1c16)
416     label27:;
417     XMLVM_TRY_BEGIN(w1725aaab9b1c18)
418     // Begin try
419     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 124)
420     XMLVM_CHECK_NPE(3)
421     _r0.o = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.references_;
422     XMLVM_CHECK_NPE(3)
423     _r1.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.head_;
424     _r2.i = _r1.i + 1;
425     XMLVM_CHECK_NPE(3)
426     ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.head_ = _r2.i;
427     XMLVM_CHECK_NPE(0)
428     XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
429     _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
430     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 125)
431     XMLVM_CHECK_NPE(0)
432     java_lang_ref_Reference_dequeue__(_r0.o);
433     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 126)
434     XMLVM_CHECK_NPE(3)
435     _r1.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.head_;
436     XMLVM_CHECK_NPE(3)
437     _r2.o = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.references_;
438     _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
439     if (_r1.i != _r2.i) { XMLVM_MEMCPY(curThread_w1725aaab9b1c18->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab9b1c18, sizeof(XMLVM_JMP_BUF)); goto label50; };
440     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 127)
441     _r1.i = 0;
442     XMLVM_CHECK_NPE(3)
443     ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.head_ = _r1.i;
444     // End try
445     XMLVM_TRY_END
446     XMLVM_CATCH_BEGIN(w1725aaab9b1c18)
447         XMLVM_CATCH_SPECIFIC(w1725aaab9b1c18,java_lang_Object,61)
448     XMLVM_CATCH_END(w1725aaab9b1c18)
449     XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab9b1c18)
450     label50:;
451     XMLVM_TRY_BEGIN(w1725aaab9b1c20)
452     // Begin try
453     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 129)
454     XMLVM_CHECK_NPE(3)
455     _r1.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.head_;
456     XMLVM_CHECK_NPE(3)
457     _r2.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.tail_;
458     if (_r1.i != _r2.i) { XMLVM_MEMCPY(curThread_w1725aaab9b1c20->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab9b1c20, sizeof(XMLVM_JMP_BUF)); goto label64; };
459     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 130)
460     _r1.i = 1;
461     XMLVM_CHECK_NPE(3)
462     ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.empty_ = _r1.i;
463     // End try
464     XMLVM_TRY_END
465     XMLVM_CATCH_BEGIN(w1725aaab9b1c20)
466         XMLVM_CATCH_SPECIFIC(w1725aaab9b1c20,java_lang_Object,61)
467     XMLVM_CATCH_END(w1725aaab9b1c20)
468     XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab9b1c20)
469     label59:;
470     XMLVM_TRY_BEGIN(w1725aaab9b1c22)
471     // Begin try
472     java_lang_Object_releaseLockRecursive__(_r3.o);
473     { XMLVM_MEMCPY(curThread_w1725aaab9b1c22->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab9b1c22, sizeof(XMLVM_JMP_BUF)); goto label26; };
474     // End try
475     XMLVM_TRY_END
476     XMLVM_CATCH_BEGIN(w1725aaab9b1c22)
477         XMLVM_CATCH_SPECIFIC(w1725aaab9b1c22,java_lang_Object,61)
478     XMLVM_CATCH_END(w1725aaab9b1c22)
479     XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab9b1c22)
480     label61:;
481     XMLVM_TRY_BEGIN(w1725aaab9b1c24)
482     // Begin try
483     java_lang_Thread* curThread_w1725aaab9b1c24aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
484     _r0.o = curThread_w1725aaab9b1c24aa->fields.java_lang_Thread.xmlvmException_;
485     java_lang_Object_releaseLockRecursive__(_r3.o);
486     // End try
487     XMLVM_TRY_END
488     XMLVM_CATCH_BEGIN(w1725aaab9b1c24)
489         XMLVM_CATCH_SPECIFIC(w1725aaab9b1c24,java_lang_Object,61)
490     XMLVM_CATCH_END(w1725aaab9b1c24)
491     XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab9b1c24)
492     XMLVM_THROW_CUSTOM(_r0.o)
493     label64:;
494     XMLVM_TRY_BEGIN(w1725aaab9b1c27)
495     // Begin try
496     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 132)
497     XMLVM_CHECK_NPE(3)
498     java_lang_Object_notifyAll__(_r3.o);
499     // End try
500     XMLVM_TRY_END
501     XMLVM_CATCH_BEGIN(w1725aaab9b1c27)
502         XMLVM_CATCH_SPECIFIC(w1725aaab9b1c27,java_lang_Object,61)
503     XMLVM_CATCH_END(w1725aaab9b1c27)
504     XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab9b1c27)
505     goto label59;
506     //XMLVM_END_WRAPPER
507 }
508 
java_lang_ref_ReferenceQueue_enqueue___java_lang_ref_Reference(JAVA_OBJECT me,JAVA_OBJECT n1)509 JAVA_BOOLEAN java_lang_ref_ReferenceQueue_enqueue___java_lang_ref_Reference(JAVA_OBJECT me, JAVA_OBJECT n1)
510 {
511     //XMLVM_BEGIN_WRAPPER[java_lang_ref_ReferenceQueue_enqueue___java_lang_ref_Reference]
512     XMLVM_ENTER_METHOD("java.lang.ref.ReferenceQueue", "enqueue", "?")
513     volatile XMLVMElem _r0;
514     volatile XMLVMElem _r1;
515     volatile XMLVMElem _r2;
516     volatile XMLVMElem _r3;
517     volatile XMLVMElem _r4;
518     volatile XMLVMElem _r5;
519     volatile XMLVMElem _r6;
520     volatile XMLVMElem _r7;
521     _r6.o = me;
522     _r7.o = n1;
523     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 147)
524     java_lang_Object_acquireLockRecursive__(_r6.o);
525     XMLVM_TRY_BEGIN(w1725aaac10b1b5)
526     // Begin try
527     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 148)
528     XMLVM_CHECK_NPE(6)
529     _r0.i = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.empty_;
530     if (_r0.i != 0) { XMLVM_MEMCPY(curThread_w1725aaac10b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaac10b1b5, sizeof(XMLVM_JMP_BUF)); goto label68; };
531     XMLVM_CHECK_NPE(6)
532     _r0.i = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.head_;
533     XMLVM_CHECK_NPE(6)
534     _r1.i = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.tail_;
535     if (_r0.i != _r1.i) { XMLVM_MEMCPY(curThread_w1725aaac10b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaac10b1b5, sizeof(XMLVM_JMP_BUF)); goto label68; };
536     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 150)
537     XMLVM_CHECK_NPE(6)
538     _r0.o = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.references_;
539     _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
540     _r0.d = (JAVA_DOUBLE) _r0.i;
541     _r2.d = 1.1;
542     _r0.d = _r0.d * _r2.d;
543     _r0.i = (JAVA_INT) _r0.d;
544     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 151)
545     XMLVM_CHECK_NPE(6)
546     _r0.o = java_lang_ref_ReferenceQueue_newArray___int(_r6.o, _r0.i);
547     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 152)
548     XMLVM_CHECK_NPE(6)
549     _r1.o = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.references_;
550     XMLVM_CHECK_NPE(6)
551     _r2.i = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.head_;
552     _r3.i = 0;
553     XMLVM_CHECK_NPE(6)
554     _r4.o = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.references_;
555     _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
556     XMLVM_CHECK_NPE(6)
557     _r5.i = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.head_;
558     _r4.i = _r4.i - _r5.i;
559     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r2.i, _r0.o, _r3.i, _r4.i);
560     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 153)
561     XMLVM_CHECK_NPE(6)
562     _r1.i = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.tail_;
563     if (_r1.i <= 0) { XMLVM_MEMCPY(curThread_w1725aaac10b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaac10b1b5, sizeof(XMLVM_JMP_BUF)); goto label58; };
564     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 154)
565     XMLVM_CHECK_NPE(6)
566     _r1.o = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.references_;
567     _r2.i = 0;
568     XMLVM_CHECK_NPE(6)
569     _r3.o = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.references_;
570     _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
571     XMLVM_CHECK_NPE(6)
572     _r4.i = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.head_;
573     _r3.i = _r3.i - _r4.i;
574     XMLVM_CHECK_NPE(6)
575     _r4.i = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.tail_;
576     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r2.i, _r0.o, _r3.i, _r4.i);
577     // End try
578     XMLVM_TRY_END
579     XMLVM_CATCH_BEGIN(w1725aaac10b1b5)
580         XMLVM_CATCH_SPECIFIC(w1725aaac10b1b5,java_lang_Object,97)
581     XMLVM_CATCH_END(w1725aaac10b1b5)
582     XMLVM_RESTORE_EXCEPTION_ENV(w1725aaac10b1b5)
583     label58:;
584     XMLVM_TRY_BEGIN(w1725aaac10b1b7)
585     // Begin try
586     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 156)
587     _r1.i = 0;
588     XMLVM_CHECK_NPE(6)
589     ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.head_ = _r1.i;
590     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 157)
591     XMLVM_CHECK_NPE(6)
592     _r1.o = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.references_;
593     _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
594     XMLVM_CHECK_NPE(6)
595     ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.tail_ = _r1.i;
596     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 158)
597     XMLVM_CHECK_NPE(6)
598     ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.references_ = _r0.o;
599     // End try
600     XMLVM_TRY_END
601     XMLVM_CATCH_BEGIN(w1725aaac10b1b7)
602         XMLVM_CATCH_SPECIFIC(w1725aaac10b1b7,java_lang_Object,97)
603     XMLVM_CATCH_END(w1725aaac10b1b7)
604     XMLVM_RESTORE_EXCEPTION_ENV(w1725aaac10b1b7)
605     label68:;
606     XMLVM_TRY_BEGIN(w1725aaac10b1b9)
607     // Begin try
608     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 160)
609     XMLVM_CHECK_NPE(6)
610     _r0.o = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.references_;
611     XMLVM_CHECK_NPE(6)
612     _r1.i = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.tail_;
613     _r2.i = _r1.i + 1;
614     XMLVM_CHECK_NPE(6)
615     ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.tail_ = _r2.i;
616     XMLVM_CHECK_NPE(0)
617     XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
618     ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.o;
619     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 161)
620     XMLVM_CHECK_NPE(6)
621     _r0.i = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.tail_;
622     XMLVM_CHECK_NPE(6)
623     _r1.o = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.references_;
624     _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
625     if (_r0.i != _r1.i) { XMLVM_MEMCPY(curThread_w1725aaac10b1b9->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaac10b1b9, sizeof(XMLVM_JMP_BUF)); goto label88; };
626     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 162)
627     _r0.i = 0;
628     XMLVM_CHECK_NPE(6)
629     ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.tail_ = _r0.i;
630     // End try
631     XMLVM_TRY_END
632     XMLVM_CATCH_BEGIN(w1725aaac10b1b9)
633         XMLVM_CATCH_SPECIFIC(w1725aaac10b1b9,java_lang_Object,97)
634     XMLVM_CATCH_END(w1725aaac10b1b9)
635     XMLVM_RESTORE_EXCEPTION_ENV(w1725aaac10b1b9)
636     label88:;
637     XMLVM_TRY_BEGIN(w1725aaac10b1c11)
638     // Begin try
639     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 164)
640     _r0.i = 0;
641     XMLVM_CHECK_NPE(6)
642     ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.empty_ = _r0.i;
643     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 165)
644     XMLVM_CHECK_NPE(6)
645     java_lang_Object_notifyAll__(_r6.o);
646     java_lang_Object_releaseLockRecursive__(_r6.o);
647     XMLVM_SOURCE_POSITION("ReferenceQueue.java", 167)
648     _r0.i = 1;
649     XMLVM_MEMCPY(curThread_w1725aaac10b1c11->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaac10b1c11, sizeof(XMLVM_JMP_BUF));
650     XMLVM_EXIT_METHOD()
651     return _r0.i;
652     // End try
653     XMLVM_TRY_END
654     XMLVM_CATCH_BEGIN(w1725aaac10b1c11)
655         XMLVM_CATCH_SPECIFIC(w1725aaac10b1c11,java_lang_Object,97)
656     XMLVM_CATCH_END(w1725aaac10b1c11)
657     XMLVM_RESTORE_EXCEPTION_ENV(w1725aaac10b1c11)
658     label97:;
659     XMLVM_TRY_BEGIN(w1725aaac10b1c13)
660     // Begin try
661     java_lang_Thread* curThread_w1725aaac10b1c13aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
662     _r0.o = curThread_w1725aaac10b1c13aa->fields.java_lang_Thread.xmlvmException_;
663     java_lang_Object_releaseLockRecursive__(_r6.o);
664     // End try
665     XMLVM_TRY_END
666     XMLVM_CATCH_BEGIN(w1725aaac10b1c13)
667         XMLVM_CATCH_SPECIFIC(w1725aaac10b1c13,java_lang_Object,97)
668     XMLVM_CATCH_END(w1725aaac10b1c13)
669     XMLVM_RESTORE_EXCEPTION_ENV(w1725aaac10b1c13)
670     XMLVM_THROW_CUSTOM(_r0.o)
671     //XMLVM_END_WRAPPER
672 }
673 
674