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