~ubuntu-branches/ubuntu/vivid/emscripten/vivid

« back to all changes in this revision

Viewing changes to tests/nbody-java/java_lang_Throwable.c

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-06-11 15:45:24 UTC
  • mfrom: (1.2.1) (2.1.1 experimental)
  • Revision ID: package-import@ubuntu.com-20130611154524-rppb3w6tixlegv4n
Tags: 1.4.7~20130611~a1eb425-1
* New snapshot release
* Upload to unstable

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
 
 
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
 
 
54
static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
 
55
{
 
56
    XMLVM_NOT_IMPLEMENTED();
 
57
}
 
58
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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