1 #include "xmlvm.h"
2 #include "java_io_PrintStream.h"
3 #include "java_lang_Class.h"
4 #include "java_lang_NullPointerException.h"
5 #include "java_lang_StackTraceElement.h"
6 #include "java_lang_String.h"
7 #include "java_lang_StringBuilder.h"
8 #include "java_lang_System.h"
9
10 #include "java_lang_Throwable.h"
11
12 #define XMLVM_CURRENT_CLASS_NAME Throwable
13 #define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Throwable
14
15 __TIB_DEFINITION_java_lang_Throwable __TIB_java_lang_Throwable = {
16 0, // classInitializationBegan
17 0, // classInitialized
18 -1, // initializerThreadId
19 __INIT_java_lang_Throwable, // classInitializer
20 "java.lang.Throwable", // className
21 "java.lang", // package
22 JAVA_NULL, // enclosingClassName
23 JAVA_NULL, // enclosingMethodName
24 JAVA_NULL, // signature
25 (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
26 sizeof(java_lang_Throwable), // sizeInstance
27 XMLVM_TYPE_CLASS};
28
29 JAVA_OBJECT __CLASS_java_lang_Throwable;
30 JAVA_OBJECT __CLASS_java_lang_Throwable_1ARRAY;
31 JAVA_OBJECT __CLASS_java_lang_Throwable_2ARRAY;
32 JAVA_OBJECT __CLASS_java_lang_Throwable_3ARRAY;
33 //XMLVM_BEGIN_IMPLEMENTATION
34 //XMLVM_END_IMPLEMENTATION
35
36 static JAVA_LONG _STATIC_java_lang_Throwable_serialVersionUID;
37
38 #include "xmlvm-reflection.h"
39
40 static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
41 };
42
43 static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
44 };
45
constructor_dispatcher(JAVA_OBJECT constructor,JAVA_OBJECT arguments)46 static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
47 {
48 XMLVM_NOT_IMPLEMENTED();
49 }
50
51 static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
52 };
53
method_dispatcher(JAVA_OBJECT method,JAVA_OBJECT receiver,JAVA_OBJECT arguments)54 static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
55 {
56 XMLVM_NOT_IMPLEMENTED();
57 }
58
__INIT_java_lang_Throwable()59 void __INIT_java_lang_Throwable()
60 {
61 staticInitializerLock(&__TIB_java_lang_Throwable);
62
63 // While the static initializer mutex is locked, locally store the value of
64 // whether class initialization began or not
65 int initBegan = __TIB_java_lang_Throwable.classInitializationBegan;
66
67 // Whether or not class initialization had already began, it has begun now
68 __TIB_java_lang_Throwable.classInitializationBegan = 1;
69
70 staticInitializerUnlock(&__TIB_java_lang_Throwable);
71
72 JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
73 if (initBegan) {
74 if (__TIB_java_lang_Throwable.initializerThreadId != curThreadId) {
75 // Busy wait until the other thread finishes initializing this class
76 while (!__TIB_java_lang_Throwable.classInitialized) {
77 // do nothing
78 }
79 }
80 } else {
81 __TIB_java_lang_Throwable.initializerThreadId = curThreadId;
82 XMLVM_CLASS_USED("java.lang.Throwable")
83 __INIT_IMPL_java_lang_Throwable();
84 }
85 }
86
__INIT_IMPL_java_lang_Throwable()87 void __INIT_IMPL_java_lang_Throwable()
88 {
89 // Initialize base class if necessary
90 XMLVM_CLASS_INIT(java_lang_Object)
91 __TIB_java_lang_Throwable.newInstanceFunc = __NEW_INSTANCE_java_lang_Throwable;
92 // Copy vtable from base class
93 XMLVM_MEMCPY(__TIB_java_lang_Throwable.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
94 // Initialize vtable for this class
95 __TIB_java_lang_Throwable.vtable[7] = (VTABLE_PTR) &java_lang_Throwable_getMessage__;
96 __TIB_java_lang_Throwable.vtable[5] = (VTABLE_PTR) &java_lang_Throwable_toString__;
97 __TIB_java_lang_Throwable.vtable[6] = (VTABLE_PTR) &java_lang_Throwable_getCause__;
98 xmlvm_init_native_java_lang_Throwable();
99 // Initialize interface information
100 __TIB_java_lang_Throwable.numImplementedInterfaces = 1;
101 __TIB_java_lang_Throwable.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
102
103 // Initialize interfaces if necessary and assign tib to implementedInterfaces
104
105 XMLVM_CLASS_INIT(java_io_Serializable)
106
107 __TIB_java_lang_Throwable.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
108 // Initialize itable for this class
109 __TIB_java_lang_Throwable.itableBegin = &__TIB_java_lang_Throwable.itable[0];
110
111 _STATIC_java_lang_Throwable_serialVersionUID = -3042686055658047285;
112
113 __TIB_java_lang_Throwable.declaredFields = &__field_reflection_data[0];
114 __TIB_java_lang_Throwable.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
115 __TIB_java_lang_Throwable.constructorDispatcherFunc = constructor_dispatcher;
116 __TIB_java_lang_Throwable.declaredConstructors = &__constructor_reflection_data[0];
117 __TIB_java_lang_Throwable.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
118 __TIB_java_lang_Throwable.methodDispatcherFunc = method_dispatcher;
119 __TIB_java_lang_Throwable.declaredMethods = &__method_reflection_data[0];
120 __TIB_java_lang_Throwable.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
121 __CLASS_java_lang_Throwable = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Throwable);
122 __TIB_java_lang_Throwable.clazz = __CLASS_java_lang_Throwable;
123 __TIB_java_lang_Throwable.baseType = JAVA_NULL;
124 __CLASS_java_lang_Throwable_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Throwable);
125 __CLASS_java_lang_Throwable_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Throwable_1ARRAY);
126 __CLASS_java_lang_Throwable_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Throwable_2ARRAY);
127 //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Throwable]
128 //XMLVM_END_WRAPPER
129
130 __TIB_java_lang_Throwable.classInitialized = 1;
131 }
132
__DELETE_java_lang_Throwable(void * me,void * client_data)133 void __DELETE_java_lang_Throwable(void* me, void* client_data)
134 {
135 //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Throwable]
136 //XMLVM_END_WRAPPER
137 }
138
__INIT_INSTANCE_MEMBERS_java_lang_Throwable(JAVA_OBJECT me,int derivedClassWillRegisterFinalizer)139 void __INIT_INSTANCE_MEMBERS_java_lang_Throwable(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
140 {
141 __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
142 ((java_lang_Throwable*) me)->fields.java_lang_Throwable.detailMessage_ = (java_lang_String*) JAVA_NULL;
143 ((java_lang_Throwable*) me)->fields.java_lang_Throwable.cause_ = (java_lang_Throwable*) JAVA_NULL;
144 ((java_lang_Throwable*) me)->fields.java_lang_Throwable.stackTrace_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
145 //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Throwable]
146 //XMLVM_END_WRAPPER
147 }
148
__NEW_java_lang_Throwable()149 JAVA_OBJECT __NEW_java_lang_Throwable()
150 { XMLVM_CLASS_INIT(java_lang_Throwable)
151 java_lang_Throwable* me = (java_lang_Throwable*) XMLVM_MALLOC(sizeof(java_lang_Throwable));
152 me->tib = &__TIB_java_lang_Throwable;
153 __INIT_INSTANCE_MEMBERS_java_lang_Throwable(me, 0);
154 //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Throwable]
155 //XMLVM_END_WRAPPER
156 return me;
157 }
158
__NEW_INSTANCE_java_lang_Throwable()159 JAVA_OBJECT __NEW_INSTANCE_java_lang_Throwable()
160 {
161 JAVA_OBJECT me = JAVA_NULL;
162 me = __NEW_java_lang_Throwable();
163 java_lang_Throwable___INIT___(me);
164 return me;
165 }
166
java_lang_Throwable_GET_serialVersionUID()167 JAVA_LONG java_lang_Throwable_GET_serialVersionUID()
168 {
169 XMLVM_CLASS_INIT(java_lang_Throwable)
170 return _STATIC_java_lang_Throwable_serialVersionUID;
171 }
172
java_lang_Throwable_PUT_serialVersionUID(JAVA_LONG v)173 void java_lang_Throwable_PUT_serialVersionUID(JAVA_LONG v)
174 {
175 XMLVM_CLASS_INIT(java_lang_Throwable)
176 _STATIC_java_lang_Throwable_serialVersionUID = v;
177 }
178
java_lang_Throwable___INIT___(JAVA_OBJECT me)179 void java_lang_Throwable___INIT___(JAVA_OBJECT me)
180 {
181 //XMLVM_BEGIN_WRAPPER[java_lang_Throwable___INIT___]
182 XMLVM_ENTER_METHOD("java.lang.Throwable", "<init>", "?")
183 XMLVMElem _r0;
184 _r0.o = me;
185 XMLVM_SOURCE_POSITION("Throwable.java", 73)
186 XMLVM_CHECK_NPE(0)
187 java_lang_Object___INIT___(_r0.o);
188 XMLVM_SOURCE_POSITION("Throwable.java", 62)
189 XMLVM_CHECK_NPE(0)
190 ((java_lang_Throwable*) _r0.o)->fields.java_lang_Throwable.cause_ = _r0.o;
191 XMLVM_SOURCE_POSITION("Throwable.java", 74)
192 XMLVM_CHECK_NPE(0)
193 java_lang_Throwable_fillInStackTrace__(_r0.o);
194 XMLVM_SOURCE_POSITION("Throwable.java", 75)
195 XMLVM_EXIT_METHOD()
196 return;
197 //XMLVM_END_WRAPPER
198 }
199
java_lang_Throwable___INIT____java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1)200 void java_lang_Throwable___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
201 {
202 //XMLVM_BEGIN_WRAPPER[java_lang_Throwable___INIT____java_lang_String]
203 XMLVM_ENTER_METHOD("java.lang.Throwable", "<init>", "?")
204 XMLVMElem _r0;
205 XMLVMElem _r1;
206 _r0.o = me;
207 _r1.o = n1;
208 XMLVM_SOURCE_POSITION("Throwable.java", 85)
209 XMLVM_CHECK_NPE(0)
210 java_lang_Throwable___INIT___(_r0.o);
211 XMLVM_SOURCE_POSITION("Throwable.java", 86)
212 XMLVM_CHECK_NPE(0)
213 ((java_lang_Throwable*) _r0.o)->fields.java_lang_Throwable.detailMessage_ = _r1.o;
214 XMLVM_SOURCE_POSITION("Throwable.java", 87)
215 XMLVM_EXIT_METHOD()
216 return;
217 //XMLVM_END_WRAPPER
218 }
219
java_lang_Throwable___INIT____java_lang_String_java_lang_Throwable(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_OBJECT n2)220 void java_lang_Throwable___INIT____java_lang_String_java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
221 {
222 //XMLVM_BEGIN_WRAPPER[java_lang_Throwable___INIT____java_lang_String_java_lang_Throwable]
223 XMLVM_ENTER_METHOD("java.lang.Throwable", "<init>", "?")
224 XMLVMElem _r0;
225 XMLVMElem _r1;
226 XMLVMElem _r2;
227 _r0.o = me;
228 _r1.o = n1;
229 _r2.o = n2;
230 XMLVM_SOURCE_POSITION("Throwable.java", 99)
231 XMLVM_CHECK_NPE(0)
232 java_lang_Throwable___INIT___(_r0.o);
233 XMLVM_SOURCE_POSITION("Throwable.java", 100)
234 XMLVM_CHECK_NPE(0)
235 ((java_lang_Throwable*) _r0.o)->fields.java_lang_Throwable.detailMessage_ = _r1.o;
236 XMLVM_SOURCE_POSITION("Throwable.java", 101)
237 XMLVM_CHECK_NPE(0)
238 ((java_lang_Throwable*) _r0.o)->fields.java_lang_Throwable.cause_ = _r2.o;
239 XMLVM_SOURCE_POSITION("Throwable.java", 102)
240 XMLVM_EXIT_METHOD()
241 return;
242 //XMLVM_END_WRAPPER
243 }
244
java_lang_Throwable___INIT____java_lang_Throwable(JAVA_OBJECT me,JAVA_OBJECT n1)245 void java_lang_Throwable___INIT____java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1)
246 {
247 //XMLVM_BEGIN_WRAPPER[java_lang_Throwable___INIT____java_lang_Throwable]
248 XMLVM_ENTER_METHOD("java.lang.Throwable", "<init>", "?")
249 XMLVMElem _r0;
250 XMLVMElem _r1;
251 XMLVMElem _r2;
252 _r1.o = me;
253 _r2.o = n1;
254 XMLVM_SOURCE_POSITION("Throwable.java", 112)
255 XMLVM_CHECK_NPE(1)
256 java_lang_Throwable___INIT___(_r1.o);
257 XMLVM_SOURCE_POSITION("Throwable.java", 113)
258 if (_r2.o != JAVA_NULL) goto label11;
259 _r0.o = JAVA_NULL;
260 label6:;
261 XMLVM_CHECK_NPE(1)
262 ((java_lang_Throwable*) _r1.o)->fields.java_lang_Throwable.detailMessage_ = _r0.o;
263 XMLVM_SOURCE_POSITION("Throwable.java", 114)
264 XMLVM_CHECK_NPE(1)
265 ((java_lang_Throwable*) _r1.o)->fields.java_lang_Throwable.cause_ = _r2.o;
266 XMLVM_SOURCE_POSITION("Throwable.java", 115)
267 XMLVM_EXIT_METHOD()
268 return;
269 label11:;
270 //java_lang_Throwable_toString__[5]
271 XMLVM_CHECK_NPE(2)
272 _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Throwable*) _r2.o)->tib->vtable[5])(_r2.o);
273 goto label6;
274 //XMLVM_END_WRAPPER
275 }
276
277 //XMLVM_NATIVE[JAVA_OBJECT java_lang_Throwable_fillInStackTrace__(JAVA_OBJECT me)]
278
java_lang_Throwable_getMessage__(JAVA_OBJECT me)279 JAVA_OBJECT java_lang_Throwable_getMessage__(JAVA_OBJECT me)
280 {
281 //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_getMessage__]
282 XMLVM_ENTER_METHOD("java.lang.Throwable", "getMessage", "?")
283 XMLVMElem _r0;
284 XMLVMElem _r1;
285 _r1.o = me;
286 XMLVM_SOURCE_POSITION("Throwable.java", 139)
287 XMLVM_CHECK_NPE(1)
288 _r0.o = ((java_lang_Throwable*) _r1.o)->fields.java_lang_Throwable.detailMessage_;
289 XMLVM_EXIT_METHOD()
290 return _r0.o;
291 //XMLVM_END_WRAPPER
292 }
293
java_lang_Throwable_getLocalizedMessage__(JAVA_OBJECT me)294 JAVA_OBJECT java_lang_Throwable_getLocalizedMessage__(JAVA_OBJECT me)
295 {
296 //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_getLocalizedMessage__]
297 XMLVM_ENTER_METHOD("java.lang.Throwable", "getLocalizedMessage", "?")
298 XMLVMElem _r0;
299 XMLVMElem _r1;
300 _r1.o = me;
301 XMLVM_SOURCE_POSITION("Throwable.java", 152)
302 //java_lang_Throwable_getMessage__[7]
303 XMLVM_CHECK_NPE(1)
304 _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Throwable*) _r1.o)->tib->vtable[7])(_r1.o);
305 XMLVM_EXIT_METHOD()
306 return _r0.o;
307 //XMLVM_END_WRAPPER
308 }
309
310 //XMLVM_NATIVE[JAVA_OBJECT java_lang_Throwable_getStackTraceImpl__(JAVA_OBJECT me)]
311
java_lang_Throwable_getStackTrace__(JAVA_OBJECT me)312 JAVA_OBJECT java_lang_Throwable_getStackTrace__(JAVA_OBJECT me)
313 {
314 //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_getStackTrace__]
315 XMLVM_ENTER_METHOD("java.lang.Throwable", "getStackTrace", "?")
316 XMLVMElem _r0;
317 XMLVMElem _r1;
318 _r1.o = me;
319 XMLVM_SOURCE_POSITION("Throwable.java", 179)
320 XMLVM_CHECK_NPE(1)
321 _r0.o = java_lang_Throwable_getInternalStackTrace__(_r1.o);
322 //java_lang_StackTraceElement_1ARRAY_clone__[0]
323 XMLVM_CHECK_NPE(0)
324 _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((org_xmlvm_runtime_XMLVMArray*) _r0.o)->tib->vtable[0])(_r0.o);
325 _r1.o = _r1.o;
326 XMLVM_EXIT_METHOD()
327 return _r1.o;
328 //XMLVM_END_WRAPPER
329 }
330
java_lang_Throwable_setStackTrace___java_lang_StackTraceElement_1ARRAY(JAVA_OBJECT me,JAVA_OBJECT n1)331 void java_lang_Throwable_setStackTrace___java_lang_StackTraceElement_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
332 {
333 //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_setStackTrace___java_lang_StackTraceElement_1ARRAY]
334 XMLVM_ENTER_METHOD("java.lang.Throwable", "setStackTrace", "?")
335 XMLVMElem _r0;
336 XMLVMElem _r1;
337 XMLVMElem _r2;
338 XMLVMElem _r3;
339 XMLVMElem _r4;
340 XMLVMElem _r5;
341 _r4.o = me;
342 _r5.o = n1;
343 XMLVM_SOURCE_POSITION("Throwable.java", 198)
344 //java_lang_StackTraceElement_1ARRAY_clone__[0]
345 XMLVM_CHECK_NPE(5)
346 _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((org_xmlvm_runtime_XMLVMArray*) _r5.o)->tib->vtable[0])(_r5.o);
347 _r0.o = _r0.o;
348 XMLVM_SOURCE_POSITION("Throwable.java", 199)
349 _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
350 _r2.i = 0;
351 label8:;
352 if (_r2.i < _r1.i) goto label13;
353 XMLVM_SOURCE_POSITION("Throwable.java", 204)
354 XMLVM_CHECK_NPE(4)
355 ((java_lang_Throwable*) _r4.o)->fields.java_lang_Throwable.stackTrace_ = _r0.o;
356 XMLVM_SOURCE_POSITION("Throwable.java", 205)
357 XMLVM_EXIT_METHOD()
358 return;
359 label13:;
360 XMLVM_CHECK_NPE(0)
361 XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
362 _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
363 XMLVM_SOURCE_POSITION("Throwable.java", 200)
364 if (_r3.o != JAVA_NULL) goto label23;
365 XMLVM_SOURCE_POSITION("Throwable.java", 201)
366 _r0.o = __NEW_java_lang_NullPointerException();
367 XMLVM_CHECK_NPE(0)
368 java_lang_NullPointerException___INIT___(_r0.o);
369 XMLVM_THROW_CUSTOM(_r0.o)
370 label23:;
371 _r2.i = _r2.i + 1;
372 goto label8;
373 //XMLVM_END_WRAPPER
374 }
375
java_lang_Throwable_printStackTrace__(JAVA_OBJECT me)376 void java_lang_Throwable_printStackTrace__(JAVA_OBJECT me)
377 {
378 //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_printStackTrace__]
379 XMLVM_ENTER_METHOD("java.lang.Throwable", "printStackTrace", "?")
380 XMLVMElem _r0;
381 XMLVMElem _r1;
382 _r1.o = me;
383 XMLVM_SOURCE_POSITION("Throwable.java", 212)
384 _r0.o = java_lang_System_GET_err();
385 XMLVM_CHECK_NPE(1)
386 java_lang_Throwable_printStackTrace___java_io_PrintStream(_r1.o, _r0.o);
387 XMLVM_SOURCE_POSITION("Throwable.java", 213)
388 XMLVM_EXIT_METHOD()
389 return;
390 //XMLVM_END_WRAPPER
391 }
392
java_lang_Throwable_countDuplicates___java_lang_StackTraceElement_1ARRAY_java_lang_StackTraceElement_1ARRAY(JAVA_OBJECT n1,JAVA_OBJECT n2)393 JAVA_INT java_lang_Throwable_countDuplicates___java_lang_StackTraceElement_1ARRAY_java_lang_StackTraceElement_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2)
394 {
395 XMLVM_CLASS_INIT(java_lang_Throwable)
396 //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_countDuplicates___java_lang_StackTraceElement_1ARRAY_java_lang_StackTraceElement_1ARRAY]
397 XMLVM_ENTER_METHOD("java.lang.Throwable", "countDuplicates", "?")
398 XMLVMElem _r0;
399 XMLVMElem _r1;
400 XMLVMElem _r2;
401 XMLVMElem _r3;
402 XMLVMElem _r4;
403 XMLVMElem _r5;
404 XMLVMElem _r6;
405 XMLVMElem _r7;
406 _r6.o = n1;
407 _r7.o = n2;
408 XMLVM_SOURCE_POSITION("Throwable.java", 226)
409 _r0.i = 0;
410 XMLVM_SOURCE_POSITION("Throwable.java", 227)
411 _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r7.o));
412 XMLVM_SOURCE_POSITION("Throwable.java", 228)
413 _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
414 _r5 = _r2;
415 _r2 = _r0;
416 _r0 = _r5;
417 label6:;
418 _r0.i = _r0.i + -1;
419 if (_r0.i < 0) goto label14;
420 _r1.i = _r1.i + -1;
421 if (_r1.i >= 0) goto label15;
422 label14:;
423 XMLVM_SOURCE_POSITION("Throwable.java", 236)
424 XMLVM_EXIT_METHOD()
425 return _r2.i;
426 label15:;
427 XMLVM_SOURCE_POSITION("Throwable.java", 229)
428 XMLVM_CHECK_NPE(7)
429 XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r1.i);
430 _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
431 XMLVM_SOURCE_POSITION("Throwable.java", 230)
432 XMLVM_CHECK_NPE(6)
433 XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r0.i);
434 _r4.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
435 //java_lang_StackTraceElement_equals___java_lang_Object[1]
436 XMLVM_CHECK_NPE(3)
437 _r3.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_StackTraceElement*) _r3.o)->tib->vtable[1])(_r3.o, _r4.o);
438 if (_r3.i == 0) goto label14;
439 XMLVM_SOURCE_POSITION("Throwable.java", 231)
440 _r2.i = _r2.i + 1;
441 goto label6;
442 //XMLVM_END_WRAPPER
443 }
444
java_lang_Throwable_getInternalStackTrace__(JAVA_OBJECT me)445 JAVA_OBJECT java_lang_Throwable_getInternalStackTrace__(JAVA_OBJECT me)
446 {
447 //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_getInternalStackTrace__]
448 XMLVM_ENTER_METHOD("java.lang.Throwable", "getInternalStackTrace", "?")
449 XMLVMElem _r0;
450 XMLVMElem _r1;
451 _r1.o = me;
452 XMLVM_SOURCE_POSITION("Throwable.java", 247)
453 XMLVM_CHECK_NPE(1)
454 _r0.o = ((java_lang_Throwable*) _r1.o)->fields.java_lang_Throwable.stackTrace_;
455 if (_r0.o != JAVA_NULL) goto label10;
456 XMLVM_SOURCE_POSITION("Throwable.java", 248)
457 XMLVM_CHECK_NPE(1)
458 _r0.o = java_lang_Throwable_getStackTraceImpl__(_r1.o);
459 XMLVM_CHECK_NPE(1)
460 ((java_lang_Throwable*) _r1.o)->fields.java_lang_Throwable.stackTrace_ = _r0.o;
461 label10:;
462 XMLVM_SOURCE_POSITION("Throwable.java", 250)
463 XMLVM_CHECK_NPE(1)
464 _r0.o = ((java_lang_Throwable*) _r1.o)->fields.java_lang_Throwable.stackTrace_;
465 XMLVM_EXIT_METHOD()
466 return _r0.o;
467 //XMLVM_END_WRAPPER
468 }
469
java_lang_Throwable_printStackTrace___java_io_PrintStream(JAVA_OBJECT me,JAVA_OBJECT n1)470 void java_lang_Throwable_printStackTrace___java_io_PrintStream(JAVA_OBJECT me, JAVA_OBJECT n1)
471 {
472 //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_printStackTrace___java_io_PrintStream]
473 XMLVM_ENTER_METHOD("java.lang.Throwable", "printStackTrace", "?")
474 XMLVMElem _r0;
475 XMLVMElem _r1;
476 XMLVMElem _r2;
477 XMLVMElem _r3;
478 XMLVMElem _r4;
479 XMLVMElem _r5;
480 XMLVMElem _r6;
481 XMLVMElem _r7;
482 XMLVMElem _r8;
483 XMLVMElem _r9;
484 XMLVMElem _r10;
485 _r9.o = me;
486 _r10.o = n1;
487 _r6.i = 0;
488 // "\011at "
489 _r7.o = xmlvm_create_java_string_from_pool(45);
490 XMLVM_SOURCE_POSITION("Throwable.java", 263)
491 //java_lang_Throwable_toString__[5]
492 XMLVM_CHECK_NPE(9)
493 _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Throwable*) _r9.o)->tib->vtable[5])(_r9.o);
494 XMLVM_CHECK_NPE(10)
495 java_io_PrintStream_println___java_lang_String(_r10.o, _r0.o);
496 XMLVM_SOURCE_POSITION("Throwable.java", 266)
497 XMLVM_CHECK_NPE(9)
498 _r0.o = java_lang_Throwable_getInternalStackTrace__(_r9.o);
499 XMLVM_SOURCE_POSITION("Throwable.java", 267)
500 _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
501 _r2 = _r6;
502 label16:;
503 if (_r2.i < _r1.i) goto label28;
504 XMLVM_SOURCE_POSITION("Throwable.java", 272)
505 //java_lang_Throwable_getCause__[6]
506 XMLVM_CHECK_NPE(9)
507 _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Throwable*) _r9.o)->tib->vtable[6])(_r9.o);
508 _r8 = _r1;
509 _r1 = _r0;
510 _r0 = _r8;
511 label25:;
512 XMLVM_SOURCE_POSITION("Throwable.java", 273)
513 if (_r0.o != JAVA_NULL) goto label51;
514 XMLVM_SOURCE_POSITION("Throwable.java", 287)
515 XMLVM_EXIT_METHOD()
516 return;
517 label28:;
518 XMLVM_CHECK_NPE(0)
519 XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
520 _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
521 XMLVM_SOURCE_POSITION("Throwable.java", 268)
522 _r4.o = __NEW_java_lang_StringBuilder();
523 // "\011at "
524 _r5.o = xmlvm_create_java_string_from_pool(45);
525 XMLVM_CHECK_NPE(4)
526 java_lang_StringBuilder___INIT____java_lang_String(_r4.o, _r7.o);
527 XMLVM_CHECK_NPE(4)
528 _r3.o = java_lang_StringBuilder_append___java_lang_Object(_r4.o, _r3.o);
529 //java_lang_StringBuilder_toString__[5]
530 XMLVM_CHECK_NPE(3)
531 _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r3.o)->tib->vtable[5])(_r3.o);
532 XMLVM_CHECK_NPE(10)
533 java_io_PrintStream_println___java_lang_String(_r10.o, _r3.o);
534 _r2.i = _r2.i + 1;
535 goto label16;
536 label51:;
537 XMLVM_SOURCE_POSITION("Throwable.java", 274)
538 // "Caused by: "
539 _r2.o = xmlvm_create_java_string_from_pool(46);
540 XMLVM_CHECK_NPE(10)
541 java_io_PrintStream_print___java_lang_String(_r10.o, _r2.o);
542 XMLVM_SOURCE_POSITION("Throwable.java", 275)
543 XMLVM_CHECK_NPE(10)
544 java_io_PrintStream_println___java_lang_Object(_r10.o, _r0.o);
545 XMLVM_SOURCE_POSITION("Throwable.java", 276)
546 XMLVM_CHECK_NPE(0)
547 _r2.o = java_lang_Throwable_getInternalStackTrace__(_r0.o);
548 XMLVM_SOURCE_POSITION("Throwable.java", 277)
549 _r1.i = java_lang_Throwable_countDuplicates___java_lang_StackTraceElement_1ARRAY_java_lang_StackTraceElement_1ARRAY(_r2.o, _r1.o);
550 _r3 = _r6;
551 label68:;
552 XMLVM_SOURCE_POSITION("Throwable.java", 278)
553 _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
554 _r4.i = _r4.i - _r1.i;
555 if (_r3.i < _r4.i) goto label104;
556 XMLVM_SOURCE_POSITION("Throwable.java", 281)
557 if (_r1.i <= 0) goto label98;
558 XMLVM_SOURCE_POSITION("Throwable.java", 282)
559 _r3.o = __NEW_java_lang_StringBuilder();
560 // "\011... "
561 _r4.o = xmlvm_create_java_string_from_pool(47);
562 XMLVM_CHECK_NPE(3)
563 java_lang_StringBuilder___INIT____java_lang_String(_r3.o, _r4.o);
564 XMLVM_CHECK_NPE(3)
565 _r1.o = java_lang_StringBuilder_append___int(_r3.o, _r1.i);
566 // " more"
567 _r3.o = xmlvm_create_java_string_from_pool(48);
568 XMLVM_CHECK_NPE(1)
569 _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r3.o);
570 //java_lang_StringBuilder_toString__[5]
571 XMLVM_CHECK_NPE(1)
572 _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
573 XMLVM_CHECK_NPE(10)
574 java_io_PrintStream_println___java_lang_String(_r10.o, _r1.o);
575 label98:;
576 XMLVM_SOURCE_POSITION("Throwable.java", 285)
577 //java_lang_Throwable_getCause__[6]
578 XMLVM_CHECK_NPE(0)
579 _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Throwable*) _r0.o)->tib->vtable[6])(_r0.o);
580 _r1 = _r2;
581 goto label25;
582 label104:;
583 XMLVM_SOURCE_POSITION("Throwable.java", 279)
584 _r4.o = __NEW_java_lang_StringBuilder();
585 // "\011at "
586 _r5.o = xmlvm_create_java_string_from_pool(45);
587 XMLVM_CHECK_NPE(4)
588 java_lang_StringBuilder___INIT____java_lang_String(_r4.o, _r7.o);
589 XMLVM_CHECK_NPE(2)
590 XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
591 _r5.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
592 XMLVM_CHECK_NPE(4)
593 _r4.o = java_lang_StringBuilder_append___java_lang_Object(_r4.o, _r5.o);
594 //java_lang_StringBuilder_toString__[5]
595 XMLVM_CHECK_NPE(4)
596 _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r4.o)->tib->vtable[5])(_r4.o);
597 XMLVM_CHECK_NPE(10)
598 java_io_PrintStream_println___java_lang_String(_r10.o, _r4.o);
599 _r3.i = _r3.i + 1;
600 goto label68;
601 //XMLVM_END_WRAPPER
602 }
603
java_lang_Throwable_printStackTrace___java_io_PrintWriter(JAVA_OBJECT me,JAVA_OBJECT n1)604 void java_lang_Throwable_printStackTrace___java_io_PrintWriter(JAVA_OBJECT me, JAVA_OBJECT n1)
605 {
606 //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_printStackTrace___java_io_PrintWriter]
607 XMLVM_ENTER_METHOD("java.lang.Throwable", "printStackTrace", "?")
608 XMLVMElem _r0;
609 XMLVMElem _r1;
610 XMLVMElem _r2;
611 XMLVMElem _r3;
612 XMLVMElem _r4;
613 XMLVMElem _r5;
614 XMLVMElem _r6;
615 XMLVMElem _r7;
616 XMLVMElem _r8;
617 XMLVMElem _r9;
618 XMLVMElem _r10;
619 _r9.o = me;
620 _r10.o = n1;
621 _r6.i = 0;
622 // "\011at "
623 _r7.o = xmlvm_create_java_string_from_pool(45);
624 XMLVM_SOURCE_POSITION("Throwable.java", 299)
625 //java_lang_Throwable_toString__[5]
626 XMLVM_CHECK_NPE(9)
627 _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Throwable*) _r9.o)->tib->vtable[5])(_r9.o);
628
629
630 // Red class access removed: java.io.PrintWriter::println
631 XMLVM_RED_CLASS_DEPENDENCY();
632 XMLVM_SOURCE_POSITION("Throwable.java", 302)
633 XMLVM_CHECK_NPE(9)
634 _r0.o = java_lang_Throwable_getInternalStackTrace__(_r9.o);
635 XMLVM_SOURCE_POSITION("Throwable.java", 303)
636 _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
637 _r2 = _r6;
638 label16:;
639 if (_r2.i < _r1.i) goto label28;
640 XMLVM_SOURCE_POSITION("Throwable.java", 308)
641 //java_lang_Throwable_getCause__[6]
642 XMLVM_CHECK_NPE(9)
643 _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Throwable*) _r9.o)->tib->vtable[6])(_r9.o);
644 _r8 = _r1;
645 _r1 = _r0;
646 _r0 = _r8;
647 label25:;
648 XMLVM_SOURCE_POSITION("Throwable.java", 309)
649 if (_r0.o != JAVA_NULL) goto label51;
650 XMLVM_SOURCE_POSITION("Throwable.java", 323)
651 XMLVM_EXIT_METHOD()
652 return;
653 label28:;
654 XMLVM_CHECK_NPE(0)
655 XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
656 _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
657 XMLVM_SOURCE_POSITION("Throwable.java", 304)
658 _r4.o = __NEW_java_lang_StringBuilder();
659 // "\011at "
660 _r5.o = xmlvm_create_java_string_from_pool(45);
661 XMLVM_CHECK_NPE(4)
662 java_lang_StringBuilder___INIT____java_lang_String(_r4.o, _r7.o);
663 XMLVM_CHECK_NPE(4)
664 _r3.o = java_lang_StringBuilder_append___java_lang_Object(_r4.o, _r3.o);
665 //java_lang_StringBuilder_toString__[5]
666 XMLVM_CHECK_NPE(3)
667 _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r3.o)->tib->vtable[5])(_r3.o);
668
669
670 // Red class access removed: java.io.PrintWriter::println
671 XMLVM_RED_CLASS_DEPENDENCY();
672 _r2.i = _r2.i + 1;
673 goto label16;
674 label51:;
675 XMLVM_SOURCE_POSITION("Throwable.java", 310)
676 // "Caused by: "
677 _r2.o = xmlvm_create_java_string_from_pool(46);
678
679
680 // Red class access removed: java.io.PrintWriter::print
681 XMLVM_RED_CLASS_DEPENDENCY();
682 XMLVM_SOURCE_POSITION("Throwable.java", 311)
683
684
685 // Red class access removed: java.io.PrintWriter::println
686 XMLVM_RED_CLASS_DEPENDENCY();
687 XMLVM_SOURCE_POSITION("Throwable.java", 312)
688 XMLVM_CHECK_NPE(0)
689 _r2.o = java_lang_Throwable_getInternalStackTrace__(_r0.o);
690 XMLVM_SOURCE_POSITION("Throwable.java", 313)
691 _r1.i = java_lang_Throwable_countDuplicates___java_lang_StackTraceElement_1ARRAY_java_lang_StackTraceElement_1ARRAY(_r2.o, _r1.o);
692 _r3 = _r6;
693 label68:;
694 XMLVM_SOURCE_POSITION("Throwable.java", 314)
695 _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
696 _r4.i = _r4.i - _r1.i;
697 if (_r3.i < _r4.i) goto label104;
698 XMLVM_SOURCE_POSITION("Throwable.java", 317)
699 if (_r1.i <= 0) goto label98;
700 XMLVM_SOURCE_POSITION("Throwable.java", 318)
701 _r3.o = __NEW_java_lang_StringBuilder();
702 // "\011... "
703 _r4.o = xmlvm_create_java_string_from_pool(47);
704 XMLVM_CHECK_NPE(3)
705 java_lang_StringBuilder___INIT____java_lang_String(_r3.o, _r4.o);
706 XMLVM_CHECK_NPE(3)
707 _r1.o = java_lang_StringBuilder_append___int(_r3.o, _r1.i);
708 // " more"
709 _r3.o = xmlvm_create_java_string_from_pool(48);
710 XMLVM_CHECK_NPE(1)
711 _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r3.o);
712 //java_lang_StringBuilder_toString__[5]
713 XMLVM_CHECK_NPE(1)
714 _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
715
716
717 // Red class access removed: java.io.PrintWriter::println
718 XMLVM_RED_CLASS_DEPENDENCY();
719 label98:;
720 XMLVM_SOURCE_POSITION("Throwable.java", 321)
721 //java_lang_Throwable_getCause__[6]
722 XMLVM_CHECK_NPE(0)
723 _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Throwable*) _r0.o)->tib->vtable[6])(_r0.o);
724 _r1 = _r2;
725 goto label25;
726 label104:;
727 XMLVM_SOURCE_POSITION("Throwable.java", 315)
728 _r4.o = __NEW_java_lang_StringBuilder();
729 // "\011at "
730 _r5.o = xmlvm_create_java_string_from_pool(45);
731 XMLVM_CHECK_NPE(4)
732 java_lang_StringBuilder___INIT____java_lang_String(_r4.o, _r7.o);
733 XMLVM_CHECK_NPE(2)
734 XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
735 _r5.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
736 XMLVM_CHECK_NPE(4)
737 _r4.o = java_lang_StringBuilder_append___java_lang_Object(_r4.o, _r5.o);
738 //java_lang_StringBuilder_toString__[5]
739 XMLVM_CHECK_NPE(4)
740 _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r4.o)->tib->vtable[5])(_r4.o);
741
742
743 // Red class access removed: java.io.PrintWriter::println
744 XMLVM_RED_CLASS_DEPENDENCY();
745 _r3.i = _r3.i + 1;
746 goto label68;
747 //XMLVM_END_WRAPPER
748 }
749
java_lang_Throwable_toString__(JAVA_OBJECT me)750 JAVA_OBJECT java_lang_Throwable_toString__(JAVA_OBJECT me)
751 {
752 //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_toString__]
753 XMLVM_ENTER_METHOD("java.lang.Throwable", "toString", "?")
754 XMLVMElem _r0;
755 XMLVMElem _r1;
756 XMLVMElem _r2;
757 XMLVMElem _r3;
758 XMLVMElem _r4;
759 XMLVMElem _r5;
760 _r5.o = me;
761 XMLVM_SOURCE_POSITION("Throwable.java", 327)
762 XMLVM_CHECK_NPE(5)
763 _r0.o = java_lang_Throwable_getLocalizedMessage__(_r5.o);
764 XMLVM_SOURCE_POSITION("Throwable.java", 328)
765 //java_lang_Object_getClass__[3]
766 XMLVM_CHECK_NPE(5)
767 _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r5.o)->tib->vtable[3])(_r5.o);
768 XMLVM_CHECK_NPE(1)
769 _r1.o = java_lang_Class_getName__(_r1.o);
770 XMLVM_SOURCE_POSITION("Throwable.java", 329)
771 if (_r0.o != JAVA_NULL) goto label16;
772 _r0 = _r1;
773 label15:;
774 XMLVM_SOURCE_POSITION("Throwable.java", 330)
775 XMLVM_SOURCE_POSITION("Throwable.java", 332)
776 XMLVM_EXIT_METHOD()
777 return _r0.o;
778 label16:;
779 _r2.o = __NEW_java_lang_StringBuilder();
780 //java_lang_String_length__[8]
781 XMLVM_CHECK_NPE(1)
782 _r3.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
783 _r3.i = _r3.i + 2;
784 //java_lang_String_length__[8]
785 XMLVM_CHECK_NPE(0)
786 _r4.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[8])(_r0.o);
787 _r3.i = _r3.i + _r4.i;
788 XMLVM_CHECK_NPE(2)
789 java_lang_StringBuilder___INIT____int(_r2.o, _r3.i);
790 XMLVM_CHECK_NPE(2)
791 _r1.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r1.o);
792 // ": "
793 _r2.o = xmlvm_create_java_string_from_pool(49);
794 XMLVM_CHECK_NPE(1)
795 _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r2.o);
796 XMLVM_SOURCE_POSITION("Throwable.java", 333)
797 XMLVM_CHECK_NPE(1)
798 _r0.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r0.o);
799 //java_lang_StringBuilder_toString__[5]
800 XMLVM_CHECK_NPE(0)
801 _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
802 goto label15;
803 //XMLVM_END_WRAPPER
804 }
805
java_lang_Throwable_initCause___java_lang_Throwable(JAVA_OBJECT me,JAVA_OBJECT n1)806 JAVA_OBJECT java_lang_Throwable_initCause___java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1)
807 {
808 //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_initCause___java_lang_Throwable]
809 XMLVM_ENTER_METHOD("java.lang.Throwable", "initCause", "?")
810 volatile XMLVMElem _r0;
811 volatile XMLVMElem _r1;
812 volatile XMLVMElem _r2;
813 volatile XMLVMElem _r3;
814 _r2.o = me;
815 _r3.o = n1;
816 XMLVM_SOURCE_POSITION("Throwable.java", 349)
817 java_lang_Object_acquireLockRecursive__(_r2.o);
818 XMLVM_TRY_BEGIN(w497aaac20b1b5)
819 // Begin try
820 XMLVM_CHECK_NPE(2)
821 _r0.o = ((java_lang_Throwable*) _r2.o)->fields.java_lang_Throwable.cause_;
822 if (_r0.o != _r2.o) { XMLVM_MEMCPY(curThread_w497aaac20b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w497aaac20b1b5, sizeof(XMLVM_JMP_BUF)); goto label22; };
823 XMLVM_SOURCE_POSITION("Throwable.java", 350)
824 if (_r3.o == _r2.o) { XMLVM_MEMCPY(curThread_w497aaac20b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w497aaac20b1b5, sizeof(XMLVM_JMP_BUF)); goto label11; };
825 XMLVM_SOURCE_POSITION("Throwable.java", 351)
826 XMLVM_CHECK_NPE(2)
827 ((java_lang_Throwable*) _r2.o)->fields.java_lang_Throwable.cause_ = _r3.o;
828 // End try
829 XMLVM_TRY_END
830 XMLVM_CATCH_BEGIN(w497aaac20b1b5)
831 XMLVM_CATCH_SPECIFIC(w497aaac20b1b5,java_lang_Object,19)
832 XMLVM_CATCH_END(w497aaac20b1b5)
833 XMLVM_RESTORE_EXCEPTION_ENV(w497aaac20b1b5)
834 XMLVM_SOURCE_POSITION("Throwable.java", 352)
835 java_lang_Object_releaseLockRecursive__(_r2.o);
836 XMLVM_EXIT_METHOD()
837 return _r2.o;
838 label11:;
839 XMLVM_TRY_BEGIN(w497aaac20b1c10)
840 // Begin try
841 XMLVM_SOURCE_POSITION("Throwable.java", 354)
842
843
844 // Red class access removed: java.lang.IllegalArgumentException::new-instance
845 XMLVM_RED_CLASS_DEPENDENCY();
846 // "Cause cannot be the receiver"
847 _r1.o = xmlvm_create_java_string_from_pool(50);
848
849
850 // Red class access removed: java.lang.IllegalArgumentException::<init>
851 XMLVM_RED_CLASS_DEPENDENCY();
852 XMLVM_THROW_CUSTOM(_r0.o)
853 // End try
854 XMLVM_TRY_END
855 XMLVM_CATCH_BEGIN(w497aaac20b1c10)
856 XMLVM_CATCH_SPECIFIC(w497aaac20b1c10,java_lang_Object,19)
857 XMLVM_CATCH_END(w497aaac20b1c10)
858 XMLVM_RESTORE_EXCEPTION_ENV(w497aaac20b1c10)
859 label19:;
860 java_lang_Thread* curThread_w497aaac20b1c12 = (java_lang_Thread*)java_lang_Thread_currentThread__();
861 _r0.o = curThread_w497aaac20b1c12->fields.java_lang_Thread.xmlvmException_;
862 java_lang_Object_releaseLockRecursive__(_r2.o);
863 XMLVM_THROW_CUSTOM(_r0.o)
864 label22:;
865 XMLVM_TRY_BEGIN(w497aaac20b1c16)
866 // Begin try
867 XMLVM_SOURCE_POSITION("Throwable.java", 356)
868
869
870 // Red class access removed: java.lang.IllegalStateException::new-instance
871 XMLVM_RED_CLASS_DEPENDENCY();
872 // "Cause already initialized"
873 _r1.o = xmlvm_create_java_string_from_pool(51);
874
875
876 // Red class access removed: java.lang.IllegalStateException::<init>
877 XMLVM_RED_CLASS_DEPENDENCY();
878 XMLVM_THROW_CUSTOM(_r0.o)
879 // End try
880 XMLVM_TRY_END
881 XMLVM_CATCH_BEGIN(w497aaac20b1c16)
882 XMLVM_CATCH_SPECIFIC(w497aaac20b1c16,java_lang_Object,19)
883 XMLVM_CATCH_END(w497aaac20b1c16)
884 XMLVM_RESTORE_EXCEPTION_ENV(w497aaac20b1c16)
885 //XMLVM_END_WRAPPER
886 }
887
java_lang_Throwable_getCause__(JAVA_OBJECT me)888 JAVA_OBJECT java_lang_Throwable_getCause__(JAVA_OBJECT me)
889 {
890 //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_getCause__]
891 XMLVM_ENTER_METHOD("java.lang.Throwable", "getCause", "?")
892 XMLVMElem _r0;
893 XMLVMElem _r1;
894 _r1.o = me;
895 XMLVM_SOURCE_POSITION("Throwable.java", 366)
896 XMLVM_CHECK_NPE(1)
897 _r0.o = ((java_lang_Throwable*) _r1.o)->fields.java_lang_Throwable.cause_;
898 if (_r0.o != _r1.o) goto label6;
899 XMLVM_SOURCE_POSITION("Throwable.java", 367)
900 _r0.o = JAVA_NULL;
901 label5:;
902 XMLVM_SOURCE_POSITION("Throwable.java", 369)
903 XMLVM_EXIT_METHOD()
904 return _r0.o;
905 label6:;
906 XMLVM_CHECK_NPE(1)
907 _r0.o = ((java_lang_Throwable*) _r1.o)->fields.java_lang_Throwable.cause_;
908 goto label5;
909 //XMLVM_END_WRAPPER
910 }
911
java_lang_Throwable_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me,JAVA_OBJECT n1)912 void java_lang_Throwable_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
913 {
914 //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_writeObject___java_io_ObjectOutputStream]
915 XMLVM_ENTER_METHOD("java.lang.Throwable", "writeObject", "?")
916 XMLVMElem _r0;
917 XMLVMElem _r1;
918 _r0.o = me;
919 _r1.o = n1;
920 XMLVM_SOURCE_POSITION("Throwable.java", 374)
921 XMLVM_CHECK_NPE(0)
922 java_lang_Throwable_getInternalStackTrace__(_r0.o);
923 XMLVM_SOURCE_POSITION("Throwable.java", 375)
924
925
926 // Red class access removed: java.io.ObjectOutputStream::defaultWriteObject
927 XMLVM_RED_CLASS_DEPENDENCY();
928 XMLVM_SOURCE_POSITION("Throwable.java", 376)
929 XMLVM_EXIT_METHOD()
930 return;
931 //XMLVM_END_WRAPPER
932 }
933
934