2
#include "java_lang_Class.h"
3
#include "java_lang_Object.h"
4
#include "java_nio_ByteBuffer.h"
5
#include "java_nio_CharBuffer.h"
6
#include "java_nio_charset_Charset.h"
7
#include "java_nio_charset_CoderResult.h"
8
#include "org_apache_harmony_niochar_charset_UTF_8.h"
10
#include "org_apache_harmony_niochar_charset_UTF_8_Decoder.h"
12
#define XMLVM_CURRENT_CLASS_NAME UTF_8_Decoder
13
#define XMLVM_CURRENT_PKG_CLASS_NAME org_apache_harmony_niochar_charset_UTF_8_Decoder
15
__TIB_DEFINITION_org_apache_harmony_niochar_charset_UTF_8_Decoder __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder = {
16
0, // classInitializationBegan
17
0, // classInitialized
18
-1, // initializerThreadId
19
__INIT_org_apache_harmony_niochar_charset_UTF_8_Decoder, // classInitializer
20
"org.apache.harmony.niochar.charset.UTF_8$Decoder", // className
21
"org.apache.harmony.niochar.charset", // package
22
JAVA_NULL, // enclosingClassName
23
JAVA_NULL, // enclosingMethodName
24
JAVA_NULL, // signature
25
(__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_charset_CharsetDecoder, // extends
26
sizeof(org_apache_harmony_niochar_charset_UTF_8_Decoder), // sizeInstance
29
JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder;
30
JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder_1ARRAY;
31
JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder_2ARRAY;
32
JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder_3ARRAY;
33
//XMLVM_BEGIN_IMPLEMENTATION
34
//XMLVM_END_IMPLEMENTATION
37
#include "xmlvm-reflection.h"
39
static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
42
static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
45
static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
47
XMLVM_NOT_IMPLEMENTED();
50
static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
53
static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
55
XMLVM_NOT_IMPLEMENTED();
58
void __INIT_org_apache_harmony_niochar_charset_UTF_8_Decoder()
60
staticInitializerLock(&__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder);
62
// While the static initializer mutex is locked, locally store the value of
63
// whether class initialization began or not
64
int initBegan = __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.classInitializationBegan;
66
// Whether or not class initialization had already began, it has begun now
67
__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.classInitializationBegan = 1;
69
staticInitializerUnlock(&__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder);
71
JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
73
if (__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.initializerThreadId != curThreadId) {
74
// Busy wait until the other thread finishes initializing this class
75
while (!__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.classInitialized) {
80
__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.initializerThreadId = curThreadId;
81
XMLVM_CLASS_USED("org.apache.harmony.niochar.charset.UTF_8$Decoder")
82
__INIT_IMPL_org_apache_harmony_niochar_charset_UTF_8_Decoder();
86
void __INIT_IMPL_org_apache_harmony_niochar_charset_UTF_8_Decoder()
88
// Initialize base class if necessary
89
XMLVM_CLASS_INIT(java_nio_charset_CharsetDecoder)
90
__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.newInstanceFunc = __NEW_INSTANCE_org_apache_harmony_niochar_charset_UTF_8_Decoder;
91
// Copy vtable from base class
92
XMLVM_MEMCPY(__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.vtable, __TIB_java_nio_charset_CharsetDecoder.vtable, sizeof(__TIB_java_nio_charset_CharsetDecoder.vtable));
93
// Initialize vtable for this class
94
__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.vtable[6] = (VTABLE_PTR) &org_apache_harmony_niochar_charset_UTF_8_Decoder_decodeLoop___java_nio_ByteBuffer_java_nio_CharBuffer;
95
// Initialize interface information
96
__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.numImplementedInterfaces = 0;
97
__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
99
// Initialize interfaces if necessary and assign tib to implementedInterfaces
101
__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.declaredFields = &__field_reflection_data[0];
102
__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
103
__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.constructorDispatcherFunc = constructor_dispatcher;
104
__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.declaredConstructors = &__constructor_reflection_data[0];
105
__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
106
__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.methodDispatcherFunc = method_dispatcher;
107
__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.declaredMethods = &__method_reflection_data[0];
108
__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
109
__CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder);
110
__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.clazz = __CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder;
111
__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.baseType = JAVA_NULL;
112
__CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder);
113
__CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder_1ARRAY);
114
__CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder_2ARRAY);
115
//XMLVM_BEGIN_WRAPPER[__INIT_org_apache_harmony_niochar_charset_UTF_8_Decoder]
118
__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.classInitialized = 1;
121
void __DELETE_org_apache_harmony_niochar_charset_UTF_8_Decoder(void* me, void* client_data)
123
//XMLVM_BEGIN_WRAPPER[__DELETE_org_apache_harmony_niochar_charset_UTF_8_Decoder]
127
void __INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_charset_UTF_8_Decoder(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
129
__INIT_INSTANCE_MEMBERS_java_nio_charset_CharsetDecoder(me, 0 || derivedClassWillRegisterFinalizer);
130
((org_apache_harmony_niochar_charset_UTF_8_Decoder*) me)->fields.org_apache_harmony_niochar_charset_UTF_8_Decoder.this_0_ = (org_apache_harmony_niochar_charset_UTF_8*) JAVA_NULL;
131
//XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_charset_UTF_8_Decoder]
135
JAVA_OBJECT __NEW_org_apache_harmony_niochar_charset_UTF_8_Decoder()
136
{ XMLVM_CLASS_INIT(org_apache_harmony_niochar_charset_UTF_8_Decoder)
137
org_apache_harmony_niochar_charset_UTF_8_Decoder* me = (org_apache_harmony_niochar_charset_UTF_8_Decoder*) XMLVM_MALLOC(sizeof(org_apache_harmony_niochar_charset_UTF_8_Decoder));
138
me->tib = &__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder;
139
__INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_charset_UTF_8_Decoder(me, 0);
140
//XMLVM_BEGIN_WRAPPER[__NEW_org_apache_harmony_niochar_charset_UTF_8_Decoder]
145
JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_niochar_charset_UTF_8_Decoder()
147
JAVA_OBJECT me = JAVA_NULL;
151
void org_apache_harmony_niochar_charset_UTF_8_Decoder___INIT____org_apache_harmony_niochar_charset_UTF_8_java_nio_charset_Charset(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
153
//XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_charset_UTF_8_Decoder___INIT____org_apache_harmony_niochar_charset_UTF_8_java_nio_charset_Charset]
154
XMLVM_ENTER_METHOD("org.apache.harmony.niochar.charset.UTF_8$Decoder", "<init>", "?")
163
XMLVM_SOURCE_POSITION("UTF_8.java", 111)
165
((org_apache_harmony_niochar_charset_UTF_8_Decoder*) _r1.o)->fields.org_apache_harmony_niochar_charset_UTF_8_Decoder.this_0_ = _r2.o;
166
XMLVM_SOURCE_POSITION("UTF_8.java", 110)
168
java_nio_charset_CharsetDecoder___INIT____java_nio_charset_Charset_float_float(_r1.o, _r3.o, _r0.f, _r0.f);
174
JAVA_OBJECT org_apache_harmony_niochar_charset_UTF_8_Decoder_decodeLoop___java_nio_ByteBuffer_java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
176
//XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_charset_UTF_8_Decoder_decodeLoop___java_nio_ByteBuffer_java_nio_CharBuffer]
177
XMLVM_ENTER_METHOD("org.apache.harmony.niochar.charset.UTF_8$Decoder", "decodeLoop", "?")
178
volatile XMLVMElem _r0;
179
volatile XMLVMElem _r1;
180
volatile XMLVMElem _r2;
181
volatile XMLVMElem _r3;
182
volatile XMLVMElem _r4;
183
volatile XMLVMElem _r5;
184
volatile XMLVMElem _r6;
185
volatile XMLVMElem _r7;
186
volatile XMLVMElem _r8;
187
volatile XMLVMElem _r9;
188
volatile XMLVMElem _r10;
189
volatile XMLVMElem _r11;
190
volatile XMLVMElem _r12;
191
volatile XMLVMElem _r13;
192
volatile XMLVMElem _r14;
193
volatile XMLVMElem _r15;
197
XMLVM_SOURCE_POSITION("UTF_8.java", 114)
199
_r0.i = java_nio_Buffer_remaining__(_r15.o);
200
XMLVM_SOURCE_POSITION("UTF_8.java", 115)
202
_r1.i = java_nio_Buffer_position__(_r14.o);
203
XMLVM_SOURCE_POSITION("UTF_8.java", 116)
205
_r2.i = java_nio_Buffer_limit__(_r14.o);
206
XMLVM_SOURCE_POSITION("UTF_8.java", 117)
207
//java_nio_ByteBuffer_hasArray__[8]
209
_r3.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[8])(_r14.o);
210
if (_r3.i == 0) goto label392;
211
//java_nio_CharBuffer_hasArray__[8]
213
_r3.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[8])(_r15.o);
214
if (_r3.i == 0) goto label392;
215
XMLVM_SOURCE_POSITION("UTF_8.java", 118)
216
//java_nio_ByteBuffer_array__[7]
218
_r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[7])(_r14.o);
219
XMLVM_SOURCE_POSITION("UTF_8.java", 119)
220
//java_nio_CharBuffer_array__[7]
222
_r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[7])(_r15.o);
223
XMLVM_SOURCE_POSITION("UTF_8.java", 120)
224
//java_nio_ByteBuffer_arrayOffset__[6]
226
_r5.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[6])(_r14.o);
227
_r2.i = _r2.i + _r5.i;
228
XMLVM_SOURCE_POSITION("UTF_8.java", 122)
229
//java_nio_ByteBuffer_arrayOffset__[6]
231
_r5.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[6])(_r14.o);
232
_r1.i = _r1.i + _r5.i;
233
XMLVM_SOURCE_POSITION("UTF_8.java", 123)
235
_r5.i = java_nio_Buffer_position__(_r15.o);
236
//java_nio_CharBuffer_arrayOffset__[6]
238
_r6.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[6])(_r15.o);
239
_r5.i = _r5.i + _r6.i;
244
XMLVM_SOURCE_POSITION("UTF_8.java", 127)
245
if (_r1.i >= _r2.i) goto label58;
246
if (_r5.i > 0) goto label82;
248
XMLVM_SOURCE_POSITION("UTF_8.java", 163)
249
//java_nio_ByteBuffer_arrayOffset__[6]
251
_r3.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[6])(_r14.o);
252
_r3.i = _r1.i - _r3.i;
254
java_nio_Buffer_position___int(_r14.o, _r3.i);
255
XMLVM_SOURCE_POSITION("UTF_8.java", 164)
256
//java_nio_CharBuffer_arrayOffset__[6]
258
_r3.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[6])(_r15.o);
259
_r0.i = _r0.i - _r3.i;
261
java_nio_Buffer_position___int(_r15.o, _r0.i);
262
XMLVM_SOURCE_POSITION("UTF_8.java", 165)
263
if (_r5.i != 0) goto label229;
264
if (_r1.i >= _r2.i) goto label229;
265
_r0.o = java_nio_charset_CoderResult_GET_OVERFLOW();
267
XMLVM_SOURCE_POSITION("UTF_8.java", 205)
271
XMLVM_SOURCE_POSITION("UTF_8.java", 128)
273
XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r1.i);
274
_r6.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
275
XMLVM_SOURCE_POSITION("UTF_8.java", 129)
276
if (_r6.i >= 0) goto label387;
277
XMLVM_SOURCE_POSITION("UTF_8.java", 130)
279
XMLVM_SOURCE_POSITION("UTF_8.java", 131)
280
_r7.o = org_apache_harmony_niochar_charset_UTF_8_access$0__();
282
XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r6.i);
283
_r7.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
284
XMLVM_SOURCE_POSITION("UTF_8.java", 133)
286
if (_r7.i != _r8.i) goto label119;
287
XMLVM_SOURCE_POSITION("UTF_8.java", 134)
288
//java_nio_ByteBuffer_arrayOffset__[6]
290
_r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[6])(_r14.o);
291
_r1.i = _r1.i - _r2.i;
293
java_nio_Buffer_position___int(_r14.o, _r1.i);
294
XMLVM_SOURCE_POSITION("UTF_8.java", 135)
295
//java_nio_CharBuffer_arrayOffset__[6]
297
_r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[6])(_r15.o);
298
_r0.i = _r0.i - _r1.i;
300
java_nio_Buffer_position___int(_r15.o, _r0.i);
301
XMLVM_SOURCE_POSITION("UTF_8.java", 136)
303
_r0.o = java_nio_charset_CoderResult_malformedForLength___int(_r0.i);
306
XMLVM_SOURCE_POSITION("UTF_8.java", 138)
307
_r8.i = _r2.i - _r1.i;
309
if (_r8.i < _r9.i) goto label58;
310
XMLVM_SOURCE_POSITION("UTF_8.java", 142)
316
if (_r6.i < _r7.i) goto label169;
317
XMLVM_SOURCE_POSITION("UTF_8.java", 151)
318
_r6.o = org_apache_harmony_niochar_charset_UTF_8_access$1__();
320
XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r7.i);
321
_r6.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i];
322
_r6.i = _r8.i - _r6.i;
323
XMLVM_SOURCE_POSITION("UTF_8.java", 152)
324
_r8.o = org_apache_harmony_niochar_charset_UTF_8_access$2__();
326
XMLVM_CHECK_ARRAY_BOUNDS(_r8.o, _r7.i);
327
_r8.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r8.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i];
328
if (_r6.i >= _r8.i) goto label212;
329
XMLVM_SOURCE_POSITION("UTF_8.java", 154)
330
//java_nio_ByteBuffer_arrayOffset__[6]
332
_r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[6])(_r14.o);
333
_r1.i = _r1.i - _r2.i;
335
java_nio_Buffer_position___int(_r14.o, _r1.i);
336
XMLVM_SOURCE_POSITION("UTF_8.java", 155)
337
//java_nio_CharBuffer_arrayOffset__[6]
339
_r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[6])(_r15.o);
340
_r0.i = _r0.i - _r1.i;
342
java_nio_Buffer_position___int(_r15.o, _r0.i);
343
XMLVM_SOURCE_POSITION("UTF_8.java", 156)
345
_r0.o = java_nio_charset_CoderResult_malformedForLength___int(_r0.i);
348
XMLVM_SOURCE_POSITION("UTF_8.java", 143)
349
_r9.i = _r1.i + _r6.i;
352
XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
353
_r9.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i];
355
_r10.i = _r9.i & 192;
357
if (_r10.i == _r11.i) goto label206;
358
XMLVM_SOURCE_POSITION("UTF_8.java", 144)
359
XMLVM_SOURCE_POSITION("UTF_8.java", 145)
360
//java_nio_ByteBuffer_arrayOffset__[6]
362
_r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[6])(_r14.o);
363
_r1.i = _r1.i - _r2.i;
365
java_nio_Buffer_position___int(_r14.o, _r1.i);
366
XMLVM_SOURCE_POSITION("UTF_8.java", 146)
367
//java_nio_CharBuffer_arrayOffset__[6]
369
_r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[6])(_r15.o);
370
_r0.i = _r0.i - _r1.i;
372
java_nio_Buffer_position___int(_r15.o, _r0.i);
373
XMLVM_SOURCE_POSITION("UTF_8.java", 147)
375
_r0.o = java_nio_charset_CoderResult_malformedForLength___int(_r0.i);
378
XMLVM_SOURCE_POSITION("UTF_8.java", 149)
380
_r8.i = _r8.i + _r9.i;
384
XMLVM_SOURCE_POSITION("UTF_8.java", 158)
385
_r1.i = _r1.i + _r7.i;
390
XMLVM_SOURCE_POSITION("UTF_8.java", 160)
392
_r1.i = _r1.i & 0xffff;
394
XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r0.i);
395
((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r1.i;
396
XMLVM_SOURCE_POSITION("UTF_8.java", 161)
403
XMLVM_SOURCE_POSITION("UTF_8.java", 166)
404
_r0.o = java_nio_charset_CoderResult_GET_UNDERFLOW();
407
XMLVM_SOURCE_POSITION("UTF_8.java", 170)
408
if (_r1.i != 0) goto label243;
409
XMLVM_TRY_BEGIN(w4520aaab2b1d161)
411
XMLVM_SOURCE_POSITION("UTF_8.java", 171)
412
_r1.o = java_nio_charset_CoderResult_GET_OVERFLOW();
415
XMLVM_CATCH_BEGIN(w4520aaab2b1d161)
416
XMLVM_CATCH_SPECIFIC(w4520aaab2b1d161,java_lang_Object,372)
417
XMLVM_CATCH_END(w4520aaab2b1d161)
418
XMLVM_RESTORE_EXCEPTION_ENV(w4520aaab2b1d161)
419
XMLVM_SOURCE_POSITION("UTF_8.java", 207)
421
java_nio_Buffer_position___int(_r14.o, _r0.i);
425
XMLVM_TRY_BEGIN(w4520aaab2b1d167)
427
XMLVM_SOURCE_POSITION("UTF_8.java", 174)
428
//java_nio_ByteBuffer_get__[33]
430
_r3.i = (*(JAVA_BYTE (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[33])(_r14.o);
431
XMLVM_SOURCE_POSITION("UTF_8.java", 175)
432
if (_r3.i >= 0) { XMLVM_MEMCPY(curThread_w4520aaab2b1d167->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4520aaab2b1d167, sizeof(XMLVM_JMP_BUF)); goto label383; };
433
XMLVM_SOURCE_POSITION("UTF_8.java", 176)
435
XMLVM_SOURCE_POSITION("UTF_8.java", 177)
436
_r4.o = org_apache_harmony_niochar_charset_UTF_8_access$0__();
438
XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r3.i);
439
_r4.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
440
XMLVM_SOURCE_POSITION("UTF_8.java", 178)
442
if (_r4.i != _r5.i) { XMLVM_MEMCPY(curThread_w4520aaab2b1d167->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4520aaab2b1d167, sizeof(XMLVM_JMP_BUF)); goto label271; };
443
XMLVM_SOURCE_POSITION("UTF_8.java", 179)
445
_r1.o = java_nio_charset_CoderResult_malformedForLength___int(_r1.i);
448
XMLVM_CATCH_BEGIN(w4520aaab2b1d167)
449
XMLVM_CATCH_SPECIFIC(w4520aaab2b1d167,java_lang_Object,372)
450
XMLVM_CATCH_END(w4520aaab2b1d167)
451
XMLVM_RESTORE_EXCEPTION_ENV(w4520aaab2b1d167)
453
java_nio_Buffer_position___int(_r14.o, _r0.i);
457
XMLVM_SOURCE_POSITION("UTF_8.java", 181)
458
_r5.i = _r2.i - _r0.i;
460
if (_r5.i >= _r6.i) goto label285;
461
XMLVM_TRY_BEGIN(w4520aaab2b1d176)
463
XMLVM_SOURCE_POSITION("UTF_8.java", 182)
464
_r1.o = java_nio_charset_CoderResult_GET_UNDERFLOW();
467
XMLVM_CATCH_BEGIN(w4520aaab2b1d176)
468
XMLVM_CATCH_SPECIFIC(w4520aaab2b1d176,java_lang_Object,372)
469
XMLVM_CATCH_END(w4520aaab2b1d176)
470
XMLVM_RESTORE_EXCEPTION_ENV(w4520aaab2b1d176)
472
java_nio_Buffer_position___int(_r14.o, _r0.i);
476
XMLVM_SOURCE_POSITION("UTF_8.java", 186)
482
if (_r3.i < _r4.i) goto label318;
483
XMLVM_TRY_BEGIN(w4520aaab2b1d188)
485
XMLVM_SOURCE_POSITION("UTF_8.java", 194)
486
_r3.o = org_apache_harmony_niochar_charset_UTF_8_access$1__();
488
XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
489
_r3.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
490
_r3.i = _r5.i - _r3.i;
491
XMLVM_SOURCE_POSITION("UTF_8.java", 195)
492
_r5.o = org_apache_harmony_niochar_charset_UTF_8_access$2__();
494
XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r4.i);
495
_r5.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
496
if (_r3.i >= _r5.i) { XMLVM_MEMCPY(curThread_w4520aaab2b1d188->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4520aaab2b1d188, sizeof(XMLVM_JMP_BUF)); goto label348; };
497
XMLVM_SOURCE_POSITION("UTF_8.java", 197)
499
_r1.o = java_nio_charset_CoderResult_malformedForLength___int(_r1.i);
502
XMLVM_CATCH_BEGIN(w4520aaab2b1d188)
503
XMLVM_CATCH_SPECIFIC(w4520aaab2b1d188,java_lang_Object,372)
504
XMLVM_CATCH_END(w4520aaab2b1d188)
505
XMLVM_RESTORE_EXCEPTION_ENV(w4520aaab2b1d188)
507
java_nio_Buffer_position___int(_r14.o, _r0.i);
511
XMLVM_TRY_BEGIN(w4520aaab2b1d193)
513
XMLVM_SOURCE_POSITION("UTF_8.java", 187)
514
//java_nio_ByteBuffer_get__[33]
516
_r6.i = (*(JAVA_BYTE (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[33])(_r14.o);
520
if (_r7.i == _r8.i) { XMLVM_MEMCPY(curThread_w4520aaab2b1d193->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4520aaab2b1d193, sizeof(XMLVM_JMP_BUF)); goto label342; };
521
XMLVM_SOURCE_POSITION("UTF_8.java", 188)
522
XMLVM_SOURCE_POSITION("UTF_8.java", 190)
524
_r1.o = java_nio_charset_CoderResult_malformedForLength___int(_r1.i);
527
XMLVM_CATCH_BEGIN(w4520aaab2b1d193)
528
XMLVM_CATCH_SPECIFIC(w4520aaab2b1d193,java_lang_Object,372)
529
XMLVM_CATCH_END(w4520aaab2b1d193)
530
XMLVM_RESTORE_EXCEPTION_ENV(w4520aaab2b1d193)
532
java_nio_Buffer_position___int(_r14.o, _r0.i);
534
XMLVM_SOURCE_POSITION("UTF_8.java", 189)
537
XMLVM_SOURCE_POSITION("UTF_8.java", 192)
539
_r5.i = _r5.i + _r6.i;
543
XMLVM_SOURCE_POSITION("UTF_8.java", 199)
544
_r0.i = _r0.i + _r4.i;
549
XMLVM_SOURCE_POSITION("UTF_8.java", 201)
551
_r0.i = _r0.i & 0xffff;
552
XMLVM_TRY_BEGIN(w4520aaab2b1d214)
554
XMLVM_SOURCE_POSITION("UTF_8.java", 202)
555
//java_nio_CharBuffer_put___char[27]
557
(*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[27])(_r15.o, _r0.i);
560
XMLVM_CATCH_BEGIN(w4520aaab2b1d214)
561
XMLVM_CATCH_SPECIFIC(w4520aaab2b1d214,java_lang_Object,380)
562
XMLVM_CATCH_END(w4520aaab2b1d214)
563
XMLVM_RESTORE_EXCEPTION_ENV(w4520aaab2b1d214)
564
XMLVM_SOURCE_POSITION("UTF_8.java", 203)
569
XMLVM_SOURCE_POSITION("UTF_8.java", 169)
570
if (_r0.i < _r2.i) goto label233;
571
XMLVM_TRY_BEGIN(w4520aaab2b1d222)
573
_r1.o = java_nio_charset_CoderResult_GET_UNDERFLOW();
576
XMLVM_CATCH_BEGIN(w4520aaab2b1d222)
577
XMLVM_CATCH_SPECIFIC(w4520aaab2b1d222,java_lang_Object,372)
578
XMLVM_CATCH_END(w4520aaab2b1d222)
579
XMLVM_RESTORE_EXCEPTION_ENV(w4520aaab2b1d222)
581
java_nio_Buffer_position___int(_r14.o, _r0.i);
585
XMLVM_SOURCE_POSITION("UTF_8.java", 206)
586
java_lang_Thread* curThread_w4520aaab2b1d228 = (java_lang_Thread*)java_lang_Thread_currentThread__();
587
_r1.o = curThread_w4520aaab2b1d228->fields.java_lang_Thread.xmlvmException_;
593
java_nio_Buffer_position___int(_r14.o, _r1.i);
594
XMLVM_SOURCE_POSITION("UTF_8.java", 208)
595
XMLVM_THROW_CUSTOM(_r0.o)
597
java_lang_Thread* curThread_w4520aaab2b1d237 = (java_lang_Thread*)java_lang_Thread_currentThread__();
598
_r0.o = curThread_w4520aaab2b1d237->fields.java_lang_Thread.xmlvmException_;
619
void org_apache_harmony_niochar_charset_UTF_8_Decoder___INIT____org_apache_harmony_niochar_charset_UTF_8_java_nio_charset_Charset_org_apache_harmony_niochar_charset_UTF_8_Decoder(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
621
//XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_charset_UTF_8_Decoder___INIT____org_apache_harmony_niochar_charset_UTF_8_java_nio_charset_Charset_org_apache_harmony_niochar_charset_UTF_8_Decoder]
622
XMLVM_ENTER_METHOD("org.apache.harmony.niochar.charset.UTF_8$Decoder", "<init>", "?")
631
XMLVM_SOURCE_POSITION("UTF_8.java", 109)
633
org_apache_harmony_niochar_charset_UTF_8_Decoder___INIT____org_apache_harmony_niochar_charset_UTF_8_java_nio_charset_Charset(_r0.o, _r1.o, _r2.o);