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"
11
#include "java_nio_ByteBuffer.h"
13
#define XMLVM_CURRENT_CLASS_NAME ByteBuffer
14
#define XMLVM_CURRENT_PKG_CLASS_NAME java_nio_ByteBuffer
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
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
38
#include "xmlvm-reflection.h"
40
static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
43
static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
46
static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
48
XMLVM_NOT_IMPLEMENTED();
51
static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
54
static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
56
XMLVM_NOT_IMPLEMENTED();
59
void __INIT_java_nio_ByteBuffer()
61
staticInitializerLock(&__TIB_java_nio_ByteBuffer);
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;
67
// Whether or not class initialization had already began, it has begun now
68
__TIB_java_nio_ByteBuffer.classInitializationBegan = 1;
70
staticInitializerUnlock(&__TIB_java_nio_ByteBuffer);
72
JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
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) {
81
__TIB_java_nio_ByteBuffer.initializerThreadId = curThreadId;
82
XMLVM_CLASS_USED("java.nio.ByteBuffer")
83
__INIT_IMPL_java_nio_ByteBuffer();
87
void __INIT_IMPL_java_nio_ByteBuffer()
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);
108
// Initialize interfaces if necessary and assign tib to implementedInterfaces
110
XMLVM_CLASS_INIT(java_lang_Comparable)
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];
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]
135
__TIB_java_nio_ByteBuffer.classInitialized = 1;
138
void __DELETE_java_nio_ByteBuffer(void* me, void* client_data)
140
//XMLVM_BEGIN_WRAPPER[__DELETE_java_nio_ByteBuffer]
144
void __INIT_INSTANCE_MEMBERS_java_nio_ByteBuffer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
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]
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]
162
JAVA_OBJECT __NEW_INSTANCE_java_nio_ByteBuffer()
164
JAVA_OBJECT me = JAVA_NULL;
168
JAVA_OBJECT java_nio_ByteBuffer_allocate___int(JAVA_INT n1)
170
XMLVM_CLASS_INIT(java_nio_ByteBuffer)
171
//XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_allocate___int]
172
XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "allocate", "?")
176
XMLVM_SOURCE_POSITION("ByteBuffer.java", 49)
177
if (_r1.i >= 0) goto label8;
178
XMLVM_SOURCE_POSITION("ByteBuffer.java", 50)
181
// Red class access removed: java.lang.IllegalArgumentException::new-instance
182
XMLVM_RED_CLASS_DEPENDENCY();
185
// Red class access removed: java.lang.IllegalArgumentException::<init>
186
XMLVM_RED_CLASS_DEPENDENCY();
187
XMLVM_THROW_CUSTOM(_r0.o)
189
XMLVM_SOURCE_POSITION("ByteBuffer.java", 52)
190
_r0.o = java_nio_BufferFactory_newByteBuffer___int(_r1.i);
196
JAVA_OBJECT java_nio_ByteBuffer_allocateDirect___int(JAVA_INT n1)
198
XMLVM_CLASS_INIT(java_nio_ByteBuffer)
199
//XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_allocateDirect___int]
200
XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "allocateDirect", "?")
204
XMLVM_SOURCE_POSITION("ByteBuffer.java", 65)
205
if (_r1.i >= 0) goto label8;
206
XMLVM_SOURCE_POSITION("ByteBuffer.java", 66)
209
// Red class access removed: java.lang.IllegalArgumentException::new-instance
210
XMLVM_RED_CLASS_DEPENDENCY();
213
// Red class access removed: java.lang.IllegalArgumentException::<init>
214
XMLVM_RED_CLASS_DEPENDENCY();
215
XMLVM_THROW_CUSTOM(_r0.o)
217
XMLVM_SOURCE_POSITION("ByteBuffer.java", 68)
218
_r0.o = java_nio_BufferFactory_newDirectByteBuffer___int(_r1.i);
224
JAVA_OBJECT java_nio_ByteBuffer_wrap___byte_1ARRAY(JAVA_OBJECT n1)
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", "?")
232
XMLVM_SOURCE_POSITION("ByteBuffer.java", 82)
233
_r0.o = java_nio_BufferFactory_newByteBuffer___byte_1ARRAY(_r1.o);
239
JAVA_OBJECT java_nio_ByteBuffer_wrap___byte_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
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", "?")
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;
267
XMLVM_SOURCE_POSITION("ByteBuffer.java", 106)
268
_r0.o = __NEW_java_lang_IndexOutOfBoundsException();
270
java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
271
XMLVM_THROW_CUSTOM(_r0.o)
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)
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;
281
((java_nio_Buffer*) _r0.o)->fields.java_nio_Buffer.limit_ = _r1.i;
282
XMLVM_SOURCE_POSITION("ByteBuffer.java", 113)
288
void java_nio_ByteBuffer___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
290
//XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer___INIT____int]
291
XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "<init>", "?")
297
XMLVM_SOURCE_POSITION("ByteBuffer.java", 128)
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();
303
((java_nio_ByteBuffer*) _r1.o)->fields.java_nio_ByteBuffer.order_ = _r0.o;
304
XMLVM_SOURCE_POSITION("ByteBuffer.java", 129)
310
JAVA_OBJECT java_nio_ByteBuffer_array__(JAVA_OBJECT me)
312
//XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_array__]
313
XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "array", "?")
317
XMLVM_SOURCE_POSITION("ByteBuffer.java", 141)
318
//java_nio_ByteBuffer_protectedArray__[37]
320
_r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r1.o)->tib->vtable[37])(_r1.o);
326
JAVA_INT java_nio_ByteBuffer_arrayOffset__(JAVA_OBJECT me)
328
//XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_arrayOffset__]
329
XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "arrayOffset", "?")
333
XMLVM_SOURCE_POSITION("ByteBuffer.java", 158)
334
//java_nio_ByteBuffer_protectedArrayOffset__[36]
336
_r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r1.o)->tib->vtable[36])(_r1.o);
342
JAVA_INT java_nio_ByteBuffer_compareTo___java_nio_ByteBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
344
//XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_compareTo___java_nio_ByteBuffer]
345
XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "compareTo", "?")
356
XMLVM_SOURCE_POSITION("ByteBuffer.java", 306)
358
_r0.i = java_nio_Buffer_remaining__(_r6.o);
360
_r1.i = java_nio_Buffer_remaining__(_r7.o);
361
if (_r0.i >= _r1.i) goto label33;
363
_r0.i = java_nio_Buffer_remaining__(_r6.o);
365
XMLVM_SOURCE_POSITION("ByteBuffer.java", 308)
367
_r1.i = ((java_nio_Buffer*) _r6.o)->fields.java_nio_Buffer.position_;
368
XMLVM_SOURCE_POSITION("ByteBuffer.java", 309)
370
_r2.i = ((java_nio_Buffer*) _r7.o)->fields.java_nio_Buffer.position_;
375
XMLVM_SOURCE_POSITION("ByteBuffer.java", 311)
376
if (_r2.i > 0) goto label38;
377
XMLVM_SOURCE_POSITION("ByteBuffer.java", 321)
379
_r0.i = java_nio_Buffer_remaining__(_r6.o);
381
_r1.i = java_nio_Buffer_remaining__(_r7.o);
382
_r0.i = _r0.i - _r1.i;
387
XMLVM_SOURCE_POSITION("ByteBuffer.java", 307)
389
_r0.i = java_nio_Buffer_remaining__(_r7.o);
392
XMLVM_SOURCE_POSITION("ByteBuffer.java", 312)
393
//java_nio_ByteBuffer_get___int[35]
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]
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;
410
XMLVM_SOURCE_POSITION("ByteBuffer.java", 317)
414
XMLVM_SOURCE_POSITION("ByteBuffer.java", 319)
419
JAVA_BOOLEAN java_nio_ByteBuffer_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
421
//XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_equals___java_lang_Object]
422
XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "equals", "?")
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;
441
XMLVM_SOURCE_POSITION("ByteBuffer.java", 354)
442
XMLVM_SOURCE_POSITION("ByteBuffer.java", 369)
446
XMLVM_SOURCE_POSITION("ByteBuffer.java", 356)
448
XMLVM_SOURCE_POSITION("ByteBuffer.java", 358)
450
_r0.i = java_nio_Buffer_remaining__(_r6.o);
452
_r1.i = java_nio_Buffer_remaining__(_r7.o);
453
if (_r0.i == _r1.i) goto label22;
455
XMLVM_SOURCE_POSITION("ByteBuffer.java", 359)
458
XMLVM_SOURCE_POSITION("ByteBuffer.java", 362)
460
_r0.i = ((java_nio_Buffer*) _r6.o)->fields.java_nio_Buffer.position_;
461
XMLVM_SOURCE_POSITION("ByteBuffer.java", 363)
463
_r1.i = ((java_nio_Buffer*) _r7.o)->fields.java_nio_Buffer.position_;
467
XMLVM_SOURCE_POSITION("ByteBuffer.java", 365)
468
if (_r0.i == 0) goto label7;
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)
474
//java_nio_ByteBuffer_get___int[35]
476
_r2.i = (*(JAVA_BYTE (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_ByteBuffer*) _r6.o)->tib->vtable[35])(_r6.o, _r2.i);
478
//java_nio_ByteBuffer_get___int[35]
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;
494
JAVA_OBJECT java_nio_ByteBuffer_get___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
496
//XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_get___byte_1ARRAY]
497
XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "get", "?")
504
XMLVM_SOURCE_POSITION("ByteBuffer.java", 395)
506
_r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
507
//java_nio_ByteBuffer_get___byte_1ARRAY_int_int[34]
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);
515
JAVA_OBJECT java_nio_ByteBuffer_get___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
517
//XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_get___byte_1ARRAY_int_int]
518
XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "get", "?")
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;
544
XMLVM_SOURCE_POSITION("ByteBuffer.java", 420)
545
_r0.o = __NEW_java_lang_IndexOutOfBoundsException();
547
java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
548
XMLVM_THROW_CUSTOM(_r0.o)
550
XMLVM_SOURCE_POSITION("ByteBuffer.java", 423)
552
_r0.i = java_nio_Buffer_remaining__(_r5.o);
553
if (_r8.i <= _r0.i) goto label31;
554
XMLVM_SOURCE_POSITION("ByteBuffer.java", 424)
557
// Red class access removed: java.nio.BufferUnderflowException::new-instance
558
XMLVM_RED_CLASS_DEPENDENCY();
561
// Red class access removed: java.nio.BufferUnderflowException::<init>
562
XMLVM_RED_CLASS_DEPENDENCY();
563
XMLVM_THROW_CUSTOM(_r0.o)
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)
574
XMLVM_SOURCE_POSITION("ByteBuffer.java", 427)
575
//java_nio_ByteBuffer_get__[33]
577
_r1.i = (*(JAVA_BYTE (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r5.o)->tib->vtable[33])(_r5.o);
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;
586
JAVA_BOOLEAN java_nio_ByteBuffer_hasArray__(JAVA_OBJECT me)
588
//XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_hasArray__]
589
XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "hasArray", "?")
593
XMLVM_SOURCE_POSITION("ByteBuffer.java", 621)
594
//java_nio_ByteBuffer_protectedHasArray__[38]
596
_r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r1.o)->tib->vtable[38])(_r1.o);
602
JAVA_INT java_nio_ByteBuffer_hashCode__(JAVA_OBJECT me)
604
//XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_hashCode__]
605
XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "hashCode", "?")
612
XMLVM_SOURCE_POSITION("ByteBuffer.java", 632)
614
_r0.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_;
615
XMLVM_SOURCE_POSITION("ByteBuffer.java", 633)
621
XMLVM_SOURCE_POSITION("ByteBuffer.java", 634)
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)
629
XMLVM_SOURCE_POSITION("ByteBuffer.java", 635)
631
//java_nio_ByteBuffer_get___int[35]
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;
640
JAVA_OBJECT java_nio_ByteBuffer_order__(JAVA_OBJECT me)
642
//XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_order__]
643
XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "order", "?")
648
XMLVM_SOURCE_POSITION("ByteBuffer.java", 658)
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;
655
// Red class access removed: java.nio.ByteOrder,java.nio.ByteOrder::BIG_ENDIAN
656
XMLVM_RED_CLASS_DEPENDENCY();
661
XMLVM_SOURCE_POSITION("ByteBuffer.java", 659)
664
// Red class access removed: java.nio.ByteOrder,java.nio.ByteOrder::LITTLE_ENDIAN
665
XMLVM_RED_CLASS_DEPENDENCY();
670
JAVA_OBJECT java_nio_ByteBuffer_order___java_nio_ByteOrder(JAVA_OBJECT me, JAVA_OBJECT n1)
672
//XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_order___java_nio_ByteOrder]
673
XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "order", "?")
679
XMLVM_SOURCE_POSITION("ByteBuffer.java", 672)
681
_r0.o = java_nio_ByteBuffer_orderImpl___java_nio_ByteOrder(_r1.o, _r2.o);
687
JAVA_OBJECT java_nio_ByteBuffer_orderImpl___java_nio_ByteOrder(JAVA_OBJECT me, JAVA_OBJECT n1)
689
//XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_orderImpl___java_nio_ByteOrder]
690
XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "orderImpl", "?")
696
XMLVM_SOURCE_POSITION("ByteBuffer.java", 676)
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();
705
((java_nio_ByteBuffer*) _r1.o)->fields.java_nio_ByteBuffer.order_ = _r0.o;
706
XMLVM_SOURCE_POSITION("ByteBuffer.java", 678)
710
XMLVM_SOURCE_POSITION("ByteBuffer.java", 677)
711
_r0.o = org_apache_harmony_luni_platform_Endianness_GET_LITTLE_ENDIAN();
716
JAVA_OBJECT java_nio_ByteBuffer_put___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
718
//XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_put___byte_1ARRAY]
719
XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "put", "?")
726
XMLVM_SOURCE_POSITION("ByteBuffer.java", 732)
728
_r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
729
//java_nio_ByteBuffer_put___byte_1ARRAY_int_int[52]
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);
737
JAVA_OBJECT java_nio_ByteBuffer_put___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
739
//XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_put___byte_1ARRAY_int_int]
740
XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "put", "?")
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;
766
XMLVM_SOURCE_POSITION("ByteBuffer.java", 759)
767
_r0.o = __NEW_java_lang_IndexOutOfBoundsException();
769
java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
770
XMLVM_THROW_CUSTOM(_r0.o)
772
XMLVM_SOURCE_POSITION("ByteBuffer.java", 762)
774
_r0.i = java_nio_Buffer_remaining__(_r5.o);
775
if (_r8.i <= _r0.i) goto label31;
776
XMLVM_SOURCE_POSITION("ByteBuffer.java", 763)
779
// Red class access removed: java.nio.BufferOverflowException::new-instance
780
XMLVM_RED_CLASS_DEPENDENCY();
783
// Red class access removed: java.nio.BufferOverflowException::<init>
784
XMLVM_RED_CLASS_DEPENDENCY();
785
XMLVM_THROW_CUSTOM(_r0.o)
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)
796
XMLVM_SOURCE_POSITION("ByteBuffer.java", 766)
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]
802
(*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_BYTE)) ((java_nio_ByteBuffer*) _r5.o)->tib->vtable[51])(_r5.o, _r1.i);
808
JAVA_OBJECT java_nio_ByteBuffer_put___java_nio_ByteBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
810
//XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_put___java_nio_ByteBuffer]
811
XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "put", "?")
818
XMLVM_SOURCE_POSITION("ByteBuffer.java", 788)
819
if (_r3.o != _r2.o) goto label8;
820
XMLVM_SOURCE_POSITION("ByteBuffer.java", 789)
823
// Red class access removed: java.lang.IllegalArgumentException::new-instance
824
XMLVM_RED_CLASS_DEPENDENCY();
827
// Red class access removed: java.lang.IllegalArgumentException::<init>
828
XMLVM_RED_CLASS_DEPENDENCY();
829
XMLVM_THROW_CUSTOM(_r0.o)
831
XMLVM_SOURCE_POSITION("ByteBuffer.java", 791)
833
_r0.i = java_nio_Buffer_remaining__(_r3.o);
835
_r1.i = java_nio_Buffer_remaining__(_r2.o);
836
if (_r0.i <= _r1.i) goto label24;
837
XMLVM_SOURCE_POSITION("ByteBuffer.java", 792)
840
// Red class access removed: java.nio.BufferOverflowException::new-instance
841
XMLVM_RED_CLASS_DEPENDENCY();
844
// Red class access removed: java.nio.BufferOverflowException::<init>
845
XMLVM_RED_CLASS_DEPENDENCY();
846
XMLVM_THROW_CUSTOM(_r0.o)
848
XMLVM_SOURCE_POSITION("ByteBuffer.java", 794)
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)
855
java_nio_ByteBuffer_get___byte_1ARRAY(_r3.o, _r0.o);
856
XMLVM_SOURCE_POSITION("ByteBuffer.java", 796)
858
java_nio_ByteBuffer_put___byte_1ARRAY(_r2.o, _r0.o);
859
XMLVM_SOURCE_POSITION("ByteBuffer.java", 797)
865
JAVA_OBJECT java_nio_ByteBuffer_toString__(JAVA_OBJECT me)
867
//XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_toString__]
868
XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "toString", "?")
873
XMLVM_SOURCE_POSITION("ByteBuffer.java", 1050)
874
_r0.o = __NEW_java_lang_StringBuilder();
876
java_lang_StringBuilder___INIT___(_r0.o);
877
XMLVM_SOURCE_POSITION("ByteBuffer.java", 1051)
878
//java_lang_Object_getClass__[3]
880
_r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[3])(_r2.o);
882
_r1.o = java_lang_Class_getName__(_r1.o);
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);
889
java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
890
XMLVM_SOURCE_POSITION("ByteBuffer.java", 1053)
892
_r1.i = java_nio_Buffer_capacity__(_r2.o);
894
java_lang_StringBuilder_append___int(_r0.o, _r1.i);
895
XMLVM_SOURCE_POSITION("ByteBuffer.java", 1054)
897
_r1.o = xmlvm_create_java_string_from_pool(720);
899
java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
900
XMLVM_SOURCE_POSITION("ByteBuffer.java", 1055)
902
_r1.i = java_nio_Buffer_position__(_r2.o);
904
java_lang_StringBuilder_append___int(_r0.o, _r1.i);
905
XMLVM_SOURCE_POSITION("ByteBuffer.java", 1056)
907
_r1.o = xmlvm_create_java_string_from_pool(721);
909
java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
910
XMLVM_SOURCE_POSITION("ByteBuffer.java", 1057)
912
_r1.i = java_nio_Buffer_limit__(_r2.o);
914
java_lang_StringBuilder_append___int(_r0.o, _r1.i);
915
XMLVM_SOURCE_POSITION("ByteBuffer.java", 1058)
916
//java_lang_StringBuilder_toString__[5]
918
_r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
924
JAVA_INT java_nio_ByteBuffer_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
926
//XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_compareTo___java_lang_Object]
927
XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "compareTo", "?")
933
XMLVM_SOURCE_POSITION("ByteBuffer.java", 1)
936
_r0.i = java_nio_ByteBuffer_compareTo___java_nio_ByteBuffer(_r1.o, _r2.o);