~ubuntu-branches/ubuntu/vivid/emscripten/vivid

« back to all changes in this revision

Viewing changes to tests/nbody-java/java_nio_ByteBuffer.c

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-06-11 15:45:24 UTC
  • mfrom: (1.2.1) (2.1.1 experimental)
  • Revision ID: package-import@ubuntu.com-20130611154524-rppb3w6tixlegv4n
Tags: 1.4.7~20130611~a1eb425-1
* New snapshot release
* Upload to unstable

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
 
 
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
 
 
54
static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
 
55
{
 
56
    XMLVM_NOT_IMPLEMENTED();
 
57
}
 
58
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
162
JAVA_OBJECT __NEW_INSTANCE_java_nio_ByteBuffer()
 
163
{
 
164
    JAVA_OBJECT me = JAVA_NULL;
 
165
    return me;
 
166
}
 
167
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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
 
 
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