1 #include "xmlvm.h"
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"
9 
10 #include "org_apache_harmony_niochar_charset_UTF_8_Decoder.h"
11 
12 #define XMLVM_CURRENT_CLASS_NAME UTF_8_Decoder
13 #define XMLVM_CURRENT_PKG_CLASS_NAME org_apache_harmony_niochar_charset_UTF_8_Decoder
14 
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
27     XMLVM_TYPE_CLASS};
28 
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
35 
36 
37 #include "xmlvm-reflection.h"
38 
39 static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
40 };
41 
42 static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
43 };
44 
constructor_dispatcher(JAVA_OBJECT constructor,JAVA_OBJECT arguments)45 static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
46 {
47     XMLVM_NOT_IMPLEMENTED();
48 }
49 
50 static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
51 };
52 
method_dispatcher(JAVA_OBJECT method,JAVA_OBJECT receiver,JAVA_OBJECT arguments)53 static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
54 {
55     XMLVM_NOT_IMPLEMENTED();
56 }
57 
__INIT_org_apache_harmony_niochar_charset_UTF_8_Decoder()58 void __INIT_org_apache_harmony_niochar_charset_UTF_8_Decoder()
59 {
60     staticInitializerLock(&__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder);
61 
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;
65 
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;
68 
69     staticInitializerUnlock(&__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder);
70 
71     JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
72     if (initBegan) {
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) {
76                 // do nothing
77             }
78         }
79     } else {
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();
83     }
84 }
85 
__INIT_IMPL_org_apache_harmony_niochar_charset_UTF_8_Decoder()86 void __INIT_IMPL_org_apache_harmony_niochar_charset_UTF_8_Decoder()
87 {
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);
98 
99     // Initialize interfaces if necessary and assign tib to implementedInterfaces
100 
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]
116     //XMLVM_END_WRAPPER
117 
118     __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.classInitialized = 1;
119 }
120 
__DELETE_org_apache_harmony_niochar_charset_UTF_8_Decoder(void * me,void * client_data)121 void __DELETE_org_apache_harmony_niochar_charset_UTF_8_Decoder(void* me, void* client_data)
122 {
123     //XMLVM_BEGIN_WRAPPER[__DELETE_org_apache_harmony_niochar_charset_UTF_8_Decoder]
124     //XMLVM_END_WRAPPER
125 }
126 
__INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_charset_UTF_8_Decoder(JAVA_OBJECT me,int derivedClassWillRegisterFinalizer)127 void __INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_charset_UTF_8_Decoder(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
128 {
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]
132     //XMLVM_END_WRAPPER
133 }
134 
__NEW_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]
141     //XMLVM_END_WRAPPER
142     return me;
143 }
144 
__NEW_INSTANCE_org_apache_harmony_niochar_charset_UTF_8_Decoder()145 JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_niochar_charset_UTF_8_Decoder()
146 {
147     JAVA_OBJECT me = JAVA_NULL;
148     return me;
149 }
150 
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)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)
152 {
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>", "?")
155     XMLVMElem _r0;
156     XMLVMElem _r1;
157     XMLVMElem _r2;
158     XMLVMElem _r3;
159     _r1.o = me;
160     _r2.o = n1;
161     _r3.o = n2;
162     _r0.f = 1.0;
163     XMLVM_SOURCE_POSITION("UTF_8.java", 111)
164     XMLVM_CHECK_NPE(1)
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)
167     XMLVM_CHECK_NPE(1)
168     java_nio_charset_CharsetDecoder___INIT____java_nio_charset_Charset_float_float(_r1.o, _r3.o, _r0.f, _r0.f);
169     XMLVM_EXIT_METHOD()
170     return;
171     //XMLVM_END_WRAPPER
172 }
173 
org_apache_harmony_niochar_charset_UTF_8_Decoder_decodeLoop___java_nio_ByteBuffer_java_nio_CharBuffer(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_OBJECT n2)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)
175 {
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;
194     _r13.o = me;
195     _r14.o = n1;
196     _r15.o = n2;
197     XMLVM_SOURCE_POSITION("UTF_8.java", 114)
198     XMLVM_CHECK_NPE(15)
199     _r0.i = java_nio_Buffer_remaining__(_r15.o);
200     XMLVM_SOURCE_POSITION("UTF_8.java", 115)
201     XMLVM_CHECK_NPE(14)
202     _r1.i = java_nio_Buffer_position__(_r14.o);
203     XMLVM_SOURCE_POSITION("UTF_8.java", 116)
204     XMLVM_CHECK_NPE(14)
205     _r2.i = java_nio_Buffer_limit__(_r14.o);
206     XMLVM_SOURCE_POSITION("UTF_8.java", 117)
207     //java_nio_ByteBuffer_hasArray__[8]
208     XMLVM_CHECK_NPE(14)
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]
212     XMLVM_CHECK_NPE(15)
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]
217     XMLVM_CHECK_NPE(14)
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]
221     XMLVM_CHECK_NPE(15)
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]
225     XMLVM_CHECK_NPE(14)
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]
230     XMLVM_CHECK_NPE(14)
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)
234     XMLVM_CHECK_NPE(15)
235     _r5.i = java_nio_Buffer_position__(_r15.o);
236     //java_nio_CharBuffer_arrayOffset__[6]
237     XMLVM_CHECK_NPE(15)
238     _r6.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[6])(_r15.o);
239     _r5.i = _r5.i + _r6.i;
240     _r12 = _r5;
241     _r5 = _r0;
242     _r0 = _r12;
243     label54:;
244     XMLVM_SOURCE_POSITION("UTF_8.java", 127)
245     if (_r1.i >= _r2.i) goto label58;
246     if (_r5.i > 0) goto label82;
247     label58:;
248     XMLVM_SOURCE_POSITION("UTF_8.java", 163)
249     //java_nio_ByteBuffer_arrayOffset__[6]
250     XMLVM_CHECK_NPE(14)
251     _r3.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[6])(_r14.o);
252     _r3.i = _r1.i - _r3.i;
253     XMLVM_CHECK_NPE(14)
254     java_nio_Buffer_position___int(_r14.o, _r3.i);
255     XMLVM_SOURCE_POSITION("UTF_8.java", 164)
256     //java_nio_CharBuffer_arrayOffset__[6]
257     XMLVM_CHECK_NPE(15)
258     _r3.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[6])(_r15.o);
259     _r0.i = _r0.i - _r3.i;
260     XMLVM_CHECK_NPE(15)
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();
266     label81:;
267     XMLVM_SOURCE_POSITION("UTF_8.java", 205)
268     XMLVM_EXIT_METHOD()
269     return _r0.o;
270     label82:;
271     XMLVM_SOURCE_POSITION("UTF_8.java", 128)
272     XMLVM_CHECK_NPE(3)
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)
278     _r6.i = _r6.i & 127;
279     XMLVM_SOURCE_POSITION("UTF_8.java", 131)
280     _r7.o = org_apache_harmony_niochar_charset_UTF_8_access$0__();
281     XMLVM_CHECK_NPE(7)
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)
285     _r8.i = -1;
286     if (_r7.i != _r8.i) goto label119;
287     XMLVM_SOURCE_POSITION("UTF_8.java", 134)
288     //java_nio_ByteBuffer_arrayOffset__[6]
289     XMLVM_CHECK_NPE(14)
290     _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[6])(_r14.o);
291     _r1.i = _r1.i - _r2.i;
292     XMLVM_CHECK_NPE(14)
293     java_nio_Buffer_position___int(_r14.o, _r1.i);
294     XMLVM_SOURCE_POSITION("UTF_8.java", 135)
295     //java_nio_CharBuffer_arrayOffset__[6]
296     XMLVM_CHECK_NPE(15)
297     _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[6])(_r15.o);
298     _r0.i = _r0.i - _r1.i;
299     XMLVM_CHECK_NPE(15)
300     java_nio_Buffer_position___int(_r15.o, _r0.i);
301     XMLVM_SOURCE_POSITION("UTF_8.java", 136)
302     _r0.i = 1;
303     _r0.o = java_nio_charset_CoderResult_malformedForLength___int(_r0.i);
304     goto label81;
305     label119:;
306     XMLVM_SOURCE_POSITION("UTF_8.java", 138)
307     _r8.i = _r2.i - _r1.i;
308     _r9.i = _r7.i + 1;
309     if (_r8.i < _r9.i) goto label58;
310     XMLVM_SOURCE_POSITION("UTF_8.java", 142)
311     _r8.i = 0;
312     _r12 = _r8;
313     _r8 = _r6;
314     _r6 = _r12;
315     label129:;
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__();
319     XMLVM_CHECK_NPE(6)
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__();
325     XMLVM_CHECK_NPE(8)
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]
331     XMLVM_CHECK_NPE(14)
332     _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[6])(_r14.o);
333     _r1.i = _r1.i - _r2.i;
334     XMLVM_CHECK_NPE(14)
335     java_nio_Buffer_position___int(_r14.o, _r1.i);
336     XMLVM_SOURCE_POSITION("UTF_8.java", 155)
337     //java_nio_CharBuffer_arrayOffset__[6]
338     XMLVM_CHECK_NPE(15)
339     _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[6])(_r15.o);
340     _r0.i = _r0.i - _r1.i;
341     XMLVM_CHECK_NPE(15)
342     java_nio_Buffer_position___int(_r15.o, _r0.i);
343     XMLVM_SOURCE_POSITION("UTF_8.java", 156)
344     _r0.i = 1;
345     _r0.o = java_nio_charset_CoderResult_malformedForLength___int(_r0.i);
346     goto label81;
347     label169:;
348     XMLVM_SOURCE_POSITION("UTF_8.java", 143)
349     _r9.i = _r1.i + _r6.i;
350     _r9.i = _r9.i + 1;
351     XMLVM_CHECK_NPE(3)
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];
354     _r9.i = _r9.i & 255;
355     _r10.i = _r9.i & 192;
356     _r11.i = 128;
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]
361     XMLVM_CHECK_NPE(14)
362     _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[6])(_r14.o);
363     _r1.i = _r1.i - _r2.i;
364     XMLVM_CHECK_NPE(14)
365     java_nio_Buffer_position___int(_r14.o, _r1.i);
366     XMLVM_SOURCE_POSITION("UTF_8.java", 146)
367     //java_nio_CharBuffer_arrayOffset__[6]
368     XMLVM_CHECK_NPE(15)
369     _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[6])(_r15.o);
370     _r0.i = _r0.i - _r1.i;
371     XMLVM_CHECK_NPE(15)
372     java_nio_Buffer_position___int(_r15.o, _r0.i);
373     XMLVM_SOURCE_POSITION("UTF_8.java", 147)
374     _r0.i = _r6.i + 1;
375     _r0.o = java_nio_charset_CoderResult_malformedForLength___int(_r0.i);
376     goto label81;
377     label206:;
378     XMLVM_SOURCE_POSITION("UTF_8.java", 149)
379     _r8.i = _r8.i << 6;
380     _r8.i = _r8.i + _r9.i;
381     _r6.i = _r6.i + 1;
382     goto label129;
383     label212:;
384     XMLVM_SOURCE_POSITION("UTF_8.java", 158)
385     _r1.i = _r1.i + _r7.i;
386     _r12 = _r6;
387     _r6 = _r1;
388     _r1 = _r12;
389     label216:;
390     XMLVM_SOURCE_POSITION("UTF_8.java", 160)
391     _r7.i = _r0.i + 1;
392     _r1.i = _r1.i & 0xffff;
393     XMLVM_CHECK_NPE(4)
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)
397     _r0.i = _r5.i + -1;
398     _r1.i = _r6.i + 1;
399     _r5 = _r0;
400     _r0 = _r7;
401     goto label54;
402     label229:;
403     XMLVM_SOURCE_POSITION("UTF_8.java", 166)
404     _r0.o = java_nio_charset_CoderResult_GET_UNDERFLOW();
405     goto label81;
406     label233:;
407     XMLVM_SOURCE_POSITION("UTF_8.java", 170)
408     if (_r1.i != 0) goto label243;
409     XMLVM_TRY_BEGIN(w4520aaab2b1d161)
410     // Begin try
411     XMLVM_SOURCE_POSITION("UTF_8.java", 171)
412     _r1.o = java_nio_charset_CoderResult_GET_OVERFLOW();
413     // End try
414     XMLVM_TRY_END
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)
420     XMLVM_CHECK_NPE(14)
421     java_nio_Buffer_position___int(_r14.o, _r0.i);
422     _r0 = _r1;
423     goto label81;
424     label243:;
425     XMLVM_TRY_BEGIN(w4520aaab2b1d167)
426     // Begin try
427     XMLVM_SOURCE_POSITION("UTF_8.java", 174)
428     //java_nio_ByteBuffer_get__[33]
429     XMLVM_CHECK_NPE(14)
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)
434     _r3.i = _r3.i & 127;
435     XMLVM_SOURCE_POSITION("UTF_8.java", 177)
436     _r4.o = org_apache_harmony_niochar_charset_UTF_8_access$0__();
437     XMLVM_CHECK_NPE(4)
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)
441     _r5.i = -1;
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)
444     _r1.i = 1;
445     _r1.o = java_nio_charset_CoderResult_malformedForLength___int(_r1.i);
446     // End try
447     XMLVM_TRY_END
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)
452     XMLVM_CHECK_NPE(14)
453     java_nio_Buffer_position___int(_r14.o, _r0.i);
454     _r0 = _r1;
455     goto label81;
456     label271:;
457     XMLVM_SOURCE_POSITION("UTF_8.java", 181)
458     _r5.i = _r2.i - _r0.i;
459     _r6.i = _r4.i + 1;
460     if (_r5.i >= _r6.i) goto label285;
461     XMLVM_TRY_BEGIN(w4520aaab2b1d176)
462     // Begin try
463     XMLVM_SOURCE_POSITION("UTF_8.java", 182)
464     _r1.o = java_nio_charset_CoderResult_GET_UNDERFLOW();
465     // End try
466     XMLVM_TRY_END
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)
471     XMLVM_CHECK_NPE(14)
472     java_nio_Buffer_position___int(_r14.o, _r0.i);
473     _r0 = _r1;
474     goto label81;
475     label285:;
476     XMLVM_SOURCE_POSITION("UTF_8.java", 186)
477     _r5.i = 0;
478     _r12 = _r5;
479     _r5 = _r3;
480     _r3 = _r12;
481     label289:;
482     if (_r3.i < _r4.i) goto label318;
483     XMLVM_TRY_BEGIN(w4520aaab2b1d188)
484     // Begin try
485     XMLVM_SOURCE_POSITION("UTF_8.java", 194)
486     _r3.o = org_apache_harmony_niochar_charset_UTF_8_access$1__();
487     XMLVM_CHECK_NPE(3)
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__();
493     XMLVM_CHECK_NPE(5)
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)
498     _r1.i = 1;
499     _r1.o = java_nio_charset_CoderResult_malformedForLength___int(_r1.i);
500     // End try
501     XMLVM_TRY_END
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)
506     XMLVM_CHECK_NPE(14)
507     java_nio_Buffer_position___int(_r14.o, _r0.i);
508     _r0 = _r1;
509     goto label81;
510     label318:;
511     XMLVM_TRY_BEGIN(w4520aaab2b1d193)
512     // Begin try
513     XMLVM_SOURCE_POSITION("UTF_8.java", 187)
514     //java_nio_ByteBuffer_get__[33]
515     XMLVM_CHECK_NPE(14)
516     _r6.i = (*(JAVA_BYTE (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[33])(_r14.o);
517     _r6.i = _r6.i & 255;
518     _r7.i = _r6.i & 192;
519     _r8.i = 128;
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)
523     _r1.i = _r3.i + 1;
524     _r1.o = java_nio_charset_CoderResult_malformedForLength___int(_r1.i);
525     // End try
526     XMLVM_TRY_END
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)
531     XMLVM_CHECK_NPE(14)
532     java_nio_Buffer_position___int(_r14.o, _r0.i);
533     _r0 = _r1;
534     XMLVM_SOURCE_POSITION("UTF_8.java", 189)
535     goto label81;
536     label342:;
537     XMLVM_SOURCE_POSITION("UTF_8.java", 192)
538     _r5.i = _r5.i << 6;
539     _r5.i = _r5.i + _r6.i;
540     _r3.i = _r3.i + 1;
541     goto label289;
542     label348:;
543     XMLVM_SOURCE_POSITION("UTF_8.java", 199)
544     _r0.i = _r0.i + _r4.i;
545     _r12 = _r3;
546     _r3 = _r0;
547     _r0 = _r12;
548     label352:;
549     XMLVM_SOURCE_POSITION("UTF_8.java", 201)
550     _r3.i = _r3.i + 1;
551     _r0.i = _r0.i & 0xffff;
552     XMLVM_TRY_BEGIN(w4520aaab2b1d214)
553     // Begin try
554     XMLVM_SOURCE_POSITION("UTF_8.java", 202)
555     //java_nio_CharBuffer_put___char[27]
556     XMLVM_CHECK_NPE(15)
557     (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[27])(_r15.o, _r0.i);
558     // End try
559     XMLVM_TRY_END
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)
565     _r0.i = _r1.i + -1;
566     _r1 = _r0;
567     _r0 = _r3;
568     label362:;
569     XMLVM_SOURCE_POSITION("UTF_8.java", 169)
570     if (_r0.i < _r2.i) goto label233;
571     XMLVM_TRY_BEGIN(w4520aaab2b1d222)
572     // Begin try
573     _r1.o = java_nio_charset_CoderResult_GET_UNDERFLOW();
574     // End try
575     XMLVM_TRY_END
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)
580     XMLVM_CHECK_NPE(14)
581     java_nio_Buffer_position___int(_r14.o, _r0.i);
582     _r0 = _r1;
583     goto label81;
584     label372:;
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_;
588     _r12 = _r1;
589     _r1 = _r0;
590     _r0 = _r12;
591     label376:;
592     XMLVM_CHECK_NPE(14)
593     java_nio_Buffer_position___int(_r14.o, _r1.i);
594     XMLVM_SOURCE_POSITION("UTF_8.java", 208)
595     XMLVM_THROW_CUSTOM(_r0.o)
596     label380:;
597     java_lang_Thread* curThread_w4520aaab2b1d237 = (java_lang_Thread*)java_lang_Thread_currentThread__();
598     _r0.o = curThread_w4520aaab2b1d237->fields.java_lang_Thread.xmlvmException_;
599     _r1 = _r3;
600     goto label376;
601     label383:;
602     _r12 = _r3;
603     _r3 = _r0;
604     _r0 = _r12;
605     goto label352;
606     label387:;
607     _r12 = _r6;
608     _r6 = _r1;
609     _r1 = _r12;
610     goto label216;
611     label392:;
612     _r12 = _r1;
613     _r1 = _r0;
614     _r0 = _r12;
615     goto label362;
616     //XMLVM_END_WRAPPER
617 }
618 
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)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)
620 {
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>", "?")
623     XMLVMElem _r0;
624     XMLVMElem _r1;
625     XMLVMElem _r2;
626     XMLVMElem _r3;
627     _r0.o = me;
628     _r1.o = n1;
629     _r2.o = n2;
630     _r3.o = n3;
631     XMLVM_SOURCE_POSITION("UTF_8.java", 109)
632     XMLVM_CHECK_NPE(0)
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);
634     XMLVM_EXIT_METHOD()
635     return;
636     //XMLVM_END_WRAPPER
637 }
638 
639