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