1 #include "xmlvm.h"
2 #include "java_lang_IndexOutOfBoundsException.h"
3 #include "java_lang_Math.h"
4 #include "java_lang_NullPointerException.h"
5 #include "java_lang_Object.h"
6 #include "java_lang_String.h"
7 #include "java_lang_StringBuilder.h"
8 #include "java_nio_BufferFactory.h"
9 
10 #include "java_nio_CharBuffer.h"
11 
12 #define XMLVM_CURRENT_CLASS_NAME CharBuffer
13 #define XMLVM_CURRENT_PKG_CLASS_NAME java_nio_CharBuffer
14 
15 __TIB_DEFINITION_java_nio_CharBuffer __TIB_java_nio_CharBuffer = {
16     0, // classInitializationBegan
17     0, // classInitialized
18     -1, // initializerThreadId
19     __INIT_java_nio_CharBuffer, // classInitializer
20     "java.nio.CharBuffer", // className
21     "java.nio", // package
22     JAVA_NULL, // enclosingClassName
23     JAVA_NULL, // enclosingMethodName
24     "Ljava/nio/Buffer;Ljava/lang/Comparable<Ljava/nio/CharBuffer;>;Ljava/lang/CharSequence;Ljava/lang/Appendable;Ljava/lang/Readable;", // signature
25     (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_Buffer, // extends
26     sizeof(java_nio_CharBuffer), // sizeInstance
27     XMLVM_TYPE_CLASS};
28 
29 JAVA_OBJECT __CLASS_java_nio_CharBuffer;
30 JAVA_OBJECT __CLASS_java_nio_CharBuffer_1ARRAY;
31 JAVA_OBJECT __CLASS_java_nio_CharBuffer_2ARRAY;
32 JAVA_OBJECT __CLASS_java_nio_CharBuffer_3ARRAY;
33 //XMLVM_BEGIN_IMPLEMENTATION
34 //XMLVM_END_IMPLEMENTATION
35 
36 
37 #include "xmlvm-reflection.h"
38 
39 static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
40 };
41 
42 static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
43 };
44 
constructor_dispatcher(JAVA_OBJECT constructor,JAVA_OBJECT arguments)45 static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
46 {
47     XMLVM_NOT_IMPLEMENTED();
48 }
49 
50 static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
51 };
52 
method_dispatcher(JAVA_OBJECT method,JAVA_OBJECT receiver,JAVA_OBJECT arguments)53 static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
54 {
55     XMLVM_NOT_IMPLEMENTED();
56 }
57 
__INIT_java_nio_CharBuffer()58 void __INIT_java_nio_CharBuffer()
59 {
60     staticInitializerLock(&__TIB_java_nio_CharBuffer);
61 
62     // While the static initializer mutex is locked, locally store the value of
63     // whether class initialization began or not
64     int initBegan = __TIB_java_nio_CharBuffer.classInitializationBegan;
65 
66     // Whether or not class initialization had already began, it has begun now
67     __TIB_java_nio_CharBuffer.classInitializationBegan = 1;
68 
69     staticInitializerUnlock(&__TIB_java_nio_CharBuffer);
70 
71     JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
72     if (initBegan) {
73         if (__TIB_java_nio_CharBuffer.initializerThreadId != curThreadId) {
74             // Busy wait until the other thread finishes initializing this class
75             while (!__TIB_java_nio_CharBuffer.classInitialized) {
76                 // do nothing
77             }
78         }
79     } else {
80         __TIB_java_nio_CharBuffer.initializerThreadId = curThreadId;
81         XMLVM_CLASS_USED("java.nio.CharBuffer")
82         __INIT_IMPL_java_nio_CharBuffer();
83     }
84 }
85 
__INIT_IMPL_java_nio_CharBuffer()86 void __INIT_IMPL_java_nio_CharBuffer()
87 {
88     // Initialize base class if necessary
89     XMLVM_CLASS_INIT(java_nio_Buffer)
90     __TIB_java_nio_CharBuffer.newInstanceFunc = __NEW_INSTANCE_java_nio_CharBuffer;
91     // Copy vtable from base class
92     XMLVM_MEMCPY(__TIB_java_nio_CharBuffer.vtable, __TIB_java_nio_Buffer.vtable, sizeof(__TIB_java_nio_Buffer.vtable));
93     // Initialize vtable for this class
94     __TIB_java_nio_CharBuffer.vtable[7] = (VTABLE_PTR) &java_nio_CharBuffer_array__;
95     __TIB_java_nio_CharBuffer.vtable[6] = (VTABLE_PTR) &java_nio_CharBuffer_arrayOffset__;
96     __TIB_java_nio_CharBuffer.vtable[15] = (VTABLE_PTR) &java_nio_CharBuffer_charAt___int;
97     __TIB_java_nio_CharBuffer.vtable[1] = (VTABLE_PTR) &java_nio_CharBuffer_equals___java_lang_Object;
98     __TIB_java_nio_CharBuffer.vtable[20] = (VTABLE_PTR) &java_nio_CharBuffer_get___char_1ARRAY_int_int;
99     __TIB_java_nio_CharBuffer.vtable[8] = (VTABLE_PTR) &java_nio_CharBuffer_hasArray__;
100     __TIB_java_nio_CharBuffer.vtable[4] = (VTABLE_PTR) &java_nio_CharBuffer_hashCode__;
101     __TIB_java_nio_CharBuffer.vtable[22] = (VTABLE_PTR) &java_nio_CharBuffer_length__;
102     __TIB_java_nio_CharBuffer.vtable[28] = (VTABLE_PTR) &java_nio_CharBuffer_put___char_1ARRAY_int_int;
103     __TIB_java_nio_CharBuffer.vtable[5] = (VTABLE_PTR) &java_nio_CharBuffer_toString__;
104     __TIB_java_nio_CharBuffer.vtable[11] = (VTABLE_PTR) &java_nio_CharBuffer_append___char;
105     __TIB_java_nio_CharBuffer.vtable[12] = (VTABLE_PTR) &java_nio_CharBuffer_append___java_lang_CharSequence;
106     __TIB_java_nio_CharBuffer.vtable[13] = (VTABLE_PTR) &java_nio_CharBuffer_append___java_lang_CharSequence_int_int;
107     __TIB_java_nio_CharBuffer.vtable[30] = (VTABLE_PTR) &java_nio_CharBuffer_read___java_nio_CharBuffer;
108     __TIB_java_nio_CharBuffer.vtable[17] = (VTABLE_PTR) &java_nio_CharBuffer_compareTo___java_lang_Object;
109     // Initialize interface information
110     __TIB_java_nio_CharBuffer.numImplementedInterfaces = 4;
111     __TIB_java_nio_CharBuffer.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 4);
112 
113     // Initialize interfaces if necessary and assign tib to implementedInterfaces
114 
115     XMLVM_CLASS_INIT(java_lang_Appendable)
116 
117     __TIB_java_nio_CharBuffer.implementedInterfaces[0][0] = &__TIB_java_lang_Appendable;
118 
119     XMLVM_CLASS_INIT(java_lang_CharSequence)
120 
121     __TIB_java_nio_CharBuffer.implementedInterfaces[0][1] = &__TIB_java_lang_CharSequence;
122 
123     XMLVM_CLASS_INIT(java_lang_Comparable)
124 
125     __TIB_java_nio_CharBuffer.implementedInterfaces[0][2] = &__TIB_java_lang_Comparable;
126 
127     XMLVM_CLASS_INIT(java_lang_Readable)
128 
129     __TIB_java_nio_CharBuffer.implementedInterfaces[0][3] = &__TIB_java_lang_Readable;
130     // Initialize itable for this class
131     __TIB_java_nio_CharBuffer.itableBegin = &__TIB_java_nio_CharBuffer.itable[0];
132     __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___char] = __TIB_java_nio_CharBuffer.vtable[11];
133     __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___java_lang_CharSequence] = __TIB_java_nio_CharBuffer.vtable[12];
134     __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___java_lang_CharSequence_int_int] = __TIB_java_nio_CharBuffer.vtable[13];
135     __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_charAt___int] = __TIB_java_nio_CharBuffer.vtable[15];
136     __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__] = __TIB_java_nio_CharBuffer.vtable[22];
137     __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_subSequence___int_int] = __TIB_java_nio_CharBuffer.vtable[32];
138     __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_toString__] = __TIB_java_nio_CharBuffer.vtable[5];
139     __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_nio_CharBuffer.vtable[17];
140     __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Readable_read___java_nio_CharBuffer] = __TIB_java_nio_CharBuffer.vtable[30];
141 
142 
143     __TIB_java_nio_CharBuffer.declaredFields = &__field_reflection_data[0];
144     __TIB_java_nio_CharBuffer.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
145     __TIB_java_nio_CharBuffer.constructorDispatcherFunc = constructor_dispatcher;
146     __TIB_java_nio_CharBuffer.declaredConstructors = &__constructor_reflection_data[0];
147     __TIB_java_nio_CharBuffer.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
148     __TIB_java_nio_CharBuffer.methodDispatcherFunc = method_dispatcher;
149     __TIB_java_nio_CharBuffer.declaredMethods = &__method_reflection_data[0];
150     __TIB_java_nio_CharBuffer.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
151     __CLASS_java_nio_CharBuffer = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_nio_CharBuffer);
152     __TIB_java_nio_CharBuffer.clazz = __CLASS_java_nio_CharBuffer;
153     __TIB_java_nio_CharBuffer.baseType = JAVA_NULL;
154     __CLASS_java_nio_CharBuffer_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_CharBuffer);
155     __CLASS_java_nio_CharBuffer_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_CharBuffer_1ARRAY);
156     __CLASS_java_nio_CharBuffer_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_CharBuffer_2ARRAY);
157     //XMLVM_BEGIN_WRAPPER[__INIT_java_nio_CharBuffer]
158     //XMLVM_END_WRAPPER
159 
160     __TIB_java_nio_CharBuffer.classInitialized = 1;
161 }
162 
__DELETE_java_nio_CharBuffer(void * me,void * client_data)163 void __DELETE_java_nio_CharBuffer(void* me, void* client_data)
164 {
165     //XMLVM_BEGIN_WRAPPER[__DELETE_java_nio_CharBuffer]
166     //XMLVM_END_WRAPPER
167 }
168 
__INIT_INSTANCE_MEMBERS_java_nio_CharBuffer(JAVA_OBJECT me,int derivedClassWillRegisterFinalizer)169 void __INIT_INSTANCE_MEMBERS_java_nio_CharBuffer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
170 {
171     __INIT_INSTANCE_MEMBERS_java_nio_Buffer(me, 0 || derivedClassWillRegisterFinalizer);
172     //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_nio_CharBuffer]
173     //XMLVM_END_WRAPPER
174 }
175 
__NEW_java_nio_CharBuffer()176 JAVA_OBJECT __NEW_java_nio_CharBuffer()
177 {    XMLVM_CLASS_INIT(java_nio_CharBuffer)
178 java_nio_CharBuffer* me = (java_nio_CharBuffer*) XMLVM_MALLOC(sizeof(java_nio_CharBuffer));
179     me->tib = &__TIB_java_nio_CharBuffer;
180     __INIT_INSTANCE_MEMBERS_java_nio_CharBuffer(me, 0);
181     //XMLVM_BEGIN_WRAPPER[__NEW_java_nio_CharBuffer]
182     //XMLVM_END_WRAPPER
183     return me;
184 }
185 
__NEW_INSTANCE_java_nio_CharBuffer()186 JAVA_OBJECT __NEW_INSTANCE_java_nio_CharBuffer()
187 {
188     JAVA_OBJECT me = JAVA_NULL;
189     return me;
190 }
191 
java_nio_CharBuffer_allocate___int(JAVA_INT n1)192 JAVA_OBJECT java_nio_CharBuffer_allocate___int(JAVA_INT n1)
193 {
194     XMLVM_CLASS_INIT(java_nio_CharBuffer)
195     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_allocate___int]
196     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "allocate", "?")
197     XMLVMElem _r0;
198     XMLVMElem _r1;
199     _r1.i = n1;
200     XMLVM_SOURCE_POSITION("CharBuffer.java", 50)
201     if (_r1.i >= 0) goto label8;
202     XMLVM_SOURCE_POSITION("CharBuffer.java", 51)
203 
204 
205     // Red class access removed: java.lang.IllegalArgumentException::new-instance
206     XMLVM_RED_CLASS_DEPENDENCY();
207 
208 
209     // Red class access removed: java.lang.IllegalArgumentException::<init>
210     XMLVM_RED_CLASS_DEPENDENCY();
211     XMLVM_THROW_CUSTOM(_r0.o)
212     label8:;
213     XMLVM_SOURCE_POSITION("CharBuffer.java", 53)
214     _r0.o = java_nio_BufferFactory_newCharBuffer___int(_r1.i);
215     XMLVM_EXIT_METHOD()
216     return _r0.o;
217     //XMLVM_END_WRAPPER
218 }
219 
java_nio_CharBuffer_wrap___char_1ARRAY(JAVA_OBJECT n1)220 JAVA_OBJECT java_nio_CharBuffer_wrap___char_1ARRAY(JAVA_OBJECT n1)
221 {
222     XMLVM_CLASS_INIT(java_nio_CharBuffer)
223     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_wrap___char_1ARRAY]
224     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "wrap", "?")
225     XMLVMElem _r0;
226     XMLVMElem _r1;
227     XMLVMElem _r2;
228     _r2.o = n1;
229     XMLVM_SOURCE_POSITION("CharBuffer.java", 67)
230     _r0.i = 0;
231     _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
232     _r0.o = java_nio_CharBuffer_wrap___char_1ARRAY_int_int(_r2.o, _r0.i, _r1.i);
233     XMLVM_EXIT_METHOD()
234     return _r0.o;
235     //XMLVM_END_WRAPPER
236 }
237 
java_nio_CharBuffer_wrap___char_1ARRAY_int_int(JAVA_OBJECT n1,JAVA_INT n2,JAVA_INT n3)238 JAVA_OBJECT java_nio_CharBuffer_wrap___char_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
239 {
240     XMLVM_CLASS_INIT(java_nio_CharBuffer)
241     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_wrap___char_1ARRAY_int_int]
242     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "wrap", "?")
243     XMLVMElem _r0;
244     XMLVMElem _r1;
245     XMLVMElem _r2;
246     XMLVMElem _r3;
247     XMLVMElem _r4;
248     XMLVMElem _r5;
249     XMLVMElem _r6;
250     XMLVMElem _r7;
251     _r5.o = n1;
252     _r6.i = n2;
253     _r7.i = n3;
254     XMLVM_SOURCE_POSITION("CharBuffer.java", 89)
255     _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
256     XMLVM_SOURCE_POSITION("CharBuffer.java", 90)
257     if (_r6.i < 0) goto label13;
258     if (_r7.i < 0) goto label13;
259     _r1.l = (JAVA_LONG) _r6.i;
260     _r3.l = (JAVA_LONG) _r7.i;
261     _r1.l = _r1.l + _r3.l;
262     _r3.l = (JAVA_LONG) _r0.i;
263     _r0.i = _r1.l > _r3.l ? 1 : (_r1.l == _r3.l ? 0 : -1);
264     if (_r0.i <= 0) goto label19;
265     label13:;
266     XMLVM_SOURCE_POSITION("CharBuffer.java", 91)
267     _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
268     XMLVM_CHECK_NPE(0)
269     java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
270     XMLVM_THROW_CUSTOM(_r0.o)
271     label19:;
272     XMLVM_SOURCE_POSITION("CharBuffer.java", 94)
273     _r0.o = java_nio_BufferFactory_newCharBuffer___char_1ARRAY(_r5.o);
274     XMLVM_SOURCE_POSITION("CharBuffer.java", 95)
275     XMLVM_CHECK_NPE(0)
276     ((java_nio_Buffer*) _r0.o)->fields.java_nio_Buffer.position_ = _r6.i;
277     XMLVM_SOURCE_POSITION("CharBuffer.java", 96)
278     _r1.i = _r6.i + _r7.i;
279     XMLVM_CHECK_NPE(0)
280     ((java_nio_Buffer*) _r0.o)->fields.java_nio_Buffer.limit_ = _r1.i;
281     XMLVM_SOURCE_POSITION("CharBuffer.java", 98)
282     XMLVM_EXIT_METHOD()
283     return _r0.o;
284     //XMLVM_END_WRAPPER
285 }
286 
java_nio_CharBuffer_wrap___java_lang_CharSequence(JAVA_OBJECT n1)287 JAVA_OBJECT java_nio_CharBuffer_wrap___java_lang_CharSequence(JAVA_OBJECT n1)
288 {
289     XMLVM_CLASS_INIT(java_nio_CharBuffer)
290     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_wrap___java_lang_CharSequence]
291     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "wrap", "?")
292     XMLVMElem _r0;
293     XMLVMElem _r1;
294     _r1.o = n1;
295     XMLVM_SOURCE_POSITION("CharBuffer.java", 112)
296     _r0.o = java_nio_BufferFactory_newCharBuffer___java_lang_CharSequence(_r1.o);
297     XMLVM_EXIT_METHOD()
298     return _r0.o;
299     //XMLVM_END_WRAPPER
300 }
301 
java_nio_CharBuffer_wrap___java_lang_CharSequence_int_int(JAVA_OBJECT n1,JAVA_INT n2,JAVA_INT n3)302 JAVA_OBJECT java_nio_CharBuffer_wrap___java_lang_CharSequence_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
303 {
304     XMLVM_CLASS_INIT(java_nio_CharBuffer)
305     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_wrap___java_lang_CharSequence_int_int]
306     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "wrap", "?")
307     XMLVMElem _r0;
308     XMLVMElem _r1;
309     XMLVMElem _r2;
310     XMLVMElem _r3;
311     _r1.o = n1;
312     _r2.i = n2;
313     _r3.i = n3;
314     XMLVM_SOURCE_POSITION("CharBuffer.java", 135)
315     if (_r1.o != JAVA_NULL) goto label8;
316     XMLVM_SOURCE_POSITION("CharBuffer.java", 136)
317     _r0.o = __NEW_java_lang_NullPointerException();
318     XMLVM_CHECK_NPE(0)
319     java_lang_NullPointerException___INIT___(_r0.o);
320     XMLVM_THROW_CUSTOM(_r0.o)
321     label8:;
322     XMLVM_SOURCE_POSITION("CharBuffer.java", 138)
323     if (_r2.i < 0) goto label18;
324     if (_r3.i < _r2.i) goto label18;
325     XMLVM_CHECK_NPE(1)
326     _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__])(_r1.o);
327     if (_r3.i <= _r0.i) goto label24;
328     label18:;
329     XMLVM_SOURCE_POSITION("CharBuffer.java", 139)
330     _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
331     XMLVM_CHECK_NPE(0)
332     java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
333     XMLVM_THROW_CUSTOM(_r0.o)
334     label24:;
335     XMLVM_SOURCE_POSITION("CharBuffer.java", 142)
336     _r0.o = java_nio_BufferFactory_newCharBuffer___java_lang_CharSequence(_r1.o);
337     XMLVM_SOURCE_POSITION("CharBuffer.java", 143)
338     XMLVM_CHECK_NPE(0)
339     ((java_nio_Buffer*) _r0.o)->fields.java_nio_Buffer.position_ = _r2.i;
340     XMLVM_SOURCE_POSITION("CharBuffer.java", 144)
341     XMLVM_CHECK_NPE(0)
342     ((java_nio_Buffer*) _r0.o)->fields.java_nio_Buffer.limit_ = _r3.i;
343     XMLVM_SOURCE_POSITION("CharBuffer.java", 145)
344     XMLVM_EXIT_METHOD()
345     return _r0.o;
346     //XMLVM_END_WRAPPER
347 }
348 
java_nio_CharBuffer___INIT____int(JAVA_OBJECT me,JAVA_INT n1)349 void java_nio_CharBuffer___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
350 {
351     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer___INIT____int]
352     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "<init>", "?")
353     XMLVMElem _r0;
354     XMLVMElem _r1;
355     _r0.o = me;
356     _r1.i = n1;
357     XMLVM_SOURCE_POSITION("CharBuffer.java", 155)
358     XMLVM_CHECK_NPE(0)
359     java_nio_Buffer___INIT____int(_r0.o, _r1.i);
360     XMLVM_SOURCE_POSITION("CharBuffer.java", 156)
361     XMLVM_EXIT_METHOD()
362     return;
363     //XMLVM_END_WRAPPER
364 }
365 
java_nio_CharBuffer_array__(JAVA_OBJECT me)366 JAVA_OBJECT java_nio_CharBuffer_array__(JAVA_OBJECT me)
367 {
368     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_array__]
369     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "array", "?")
370     XMLVMElem _r0;
371     XMLVMElem _r1;
372     _r1.o = me;
373     XMLVM_SOURCE_POSITION("CharBuffer.java", 168)
374     //java_nio_CharBuffer_protectedArray__[25]
375     XMLVM_CHECK_NPE(1)
376     _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r1.o)->tib->vtable[25])(_r1.o);
377     XMLVM_EXIT_METHOD()
378     return _r0.o;
379     //XMLVM_END_WRAPPER
380 }
381 
java_nio_CharBuffer_arrayOffset__(JAVA_OBJECT me)382 JAVA_INT java_nio_CharBuffer_arrayOffset__(JAVA_OBJECT me)
383 {
384     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_arrayOffset__]
385     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "arrayOffset", "?")
386     XMLVMElem _r0;
387     XMLVMElem _r1;
388     _r1.o = me;
389     XMLVM_SOURCE_POSITION("CharBuffer.java", 185)
390     //java_nio_CharBuffer_protectedArrayOffset__[24]
391     XMLVM_CHECK_NPE(1)
392     _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r1.o)->tib->vtable[24])(_r1.o);
393     XMLVM_EXIT_METHOD()
394     return _r0.i;
395     //XMLVM_END_WRAPPER
396 }
397 
java_nio_CharBuffer_charAt___int(JAVA_OBJECT me,JAVA_INT n1)398 JAVA_CHAR java_nio_CharBuffer_charAt___int(JAVA_OBJECT me, JAVA_INT n1)
399 {
400     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_charAt___int]
401     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "charAt", "?")
402     XMLVMElem _r0;
403     XMLVMElem _r1;
404     XMLVMElem _r2;
405     _r1.o = me;
406     _r2.i = n1;
407     XMLVM_SOURCE_POSITION("CharBuffer.java", 217)
408     if (_r2.i < 0) goto label8;
409     XMLVM_CHECK_NPE(1)
410     _r0.i = java_nio_Buffer_remaining__(_r1.o);
411     if (_r2.i < _r0.i) goto label14;
412     label8:;
413     XMLVM_SOURCE_POSITION("CharBuffer.java", 218)
414     _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
415     XMLVM_CHECK_NPE(0)
416     java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
417     XMLVM_THROW_CUSTOM(_r0.o)
418     label14:;
419     XMLVM_SOURCE_POSITION("CharBuffer.java", 220)
420     XMLVM_CHECK_NPE(1)
421     _r0.i = ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.position_;
422     _r0.i = _r0.i + _r2.i;
423     //java_nio_CharBuffer_get___int[21]
424     XMLVM_CHECK_NPE(1)
425     _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_CharBuffer*) _r1.o)->tib->vtable[21])(_r1.o, _r0.i);
426     XMLVM_EXIT_METHOD()
427     return _r0.i;
428     //XMLVM_END_WRAPPER
429 }
430 
java_nio_CharBuffer_compareTo___java_nio_CharBuffer(JAVA_OBJECT me,JAVA_OBJECT n1)431 JAVA_INT java_nio_CharBuffer_compareTo___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
432 {
433     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_compareTo___java_nio_CharBuffer]
434     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "compareTo", "?")
435     XMLVMElem _r0;
436     XMLVMElem _r1;
437     XMLVMElem _r2;
438     XMLVMElem _r3;
439     XMLVMElem _r4;
440     XMLVMElem _r5;
441     XMLVMElem _r6;
442     XMLVMElem _r7;
443     _r6.o = me;
444     _r7.o = n1;
445     XMLVM_SOURCE_POSITION("CharBuffer.java", 249)
446     XMLVM_CHECK_NPE(6)
447     _r0.i = java_nio_Buffer_remaining__(_r6.o);
448     XMLVM_CHECK_NPE(7)
449     _r1.i = java_nio_Buffer_remaining__(_r7.o);
450     if (_r0.i >= _r1.i) goto label33;
451     XMLVM_CHECK_NPE(6)
452     _r0.i = java_nio_Buffer_remaining__(_r6.o);
453     label14:;
454     XMLVM_SOURCE_POSITION("CharBuffer.java", 251)
455     XMLVM_CHECK_NPE(6)
456     _r1.i = ((java_nio_Buffer*) _r6.o)->fields.java_nio_Buffer.position_;
457     XMLVM_SOURCE_POSITION("CharBuffer.java", 252)
458     XMLVM_CHECK_NPE(7)
459     _r2.i = ((java_nio_Buffer*) _r7.o)->fields.java_nio_Buffer.position_;
460     _r5 = _r2;
461     _r2 = _r0;
462     _r0 = _r5;
463     label21:;
464     XMLVM_SOURCE_POSITION("CharBuffer.java", 254)
465     if (_r2.i > 0) goto label38;
466     XMLVM_SOURCE_POSITION("CharBuffer.java", 264)
467     XMLVM_CHECK_NPE(6)
468     _r0.i = java_nio_Buffer_remaining__(_r6.o);
469     XMLVM_CHECK_NPE(7)
470     _r1.i = java_nio_Buffer_remaining__(_r7.o);
471     _r0.i = _r0.i - _r1.i;
472     label32:;
473     XMLVM_EXIT_METHOD()
474     return _r0.i;
475     label33:;
476     XMLVM_SOURCE_POSITION("CharBuffer.java", 250)
477     XMLVM_CHECK_NPE(7)
478     _r0.i = java_nio_Buffer_remaining__(_r7.o);
479     goto label14;
480     label38:;
481     XMLVM_SOURCE_POSITION("CharBuffer.java", 255)
482     //java_nio_CharBuffer_get___int[21]
483     XMLVM_CHECK_NPE(6)
484     _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_CharBuffer*) _r6.o)->tib->vtable[21])(_r6.o, _r1.i);
485     XMLVM_SOURCE_POSITION("CharBuffer.java", 256)
486     //java_nio_CharBuffer_get___int[21]
487     XMLVM_CHECK_NPE(7)
488     _r4.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_CharBuffer*) _r7.o)->tib->vtable[21])(_r7.o, _r0.i);
489     XMLVM_SOURCE_POSITION("CharBuffer.java", 257)
490     if (_r3.i == _r4.i) goto label54;
491     XMLVM_SOURCE_POSITION("CharBuffer.java", 258)
492     if (_r3.i >= _r4.i) goto label52;
493     _r0.i = -1;
494     goto label32;
495     label52:;
496     _r0.i = 1;
497     goto label32;
498     label54:;
499     XMLVM_SOURCE_POSITION("CharBuffer.java", 260)
500     _r1.i = _r1.i + 1;
501     _r0.i = _r0.i + 1;
502     _r2.i = _r2.i + -1;
503     XMLVM_SOURCE_POSITION("CharBuffer.java", 262)
504     goto label21;
505     //XMLVM_END_WRAPPER
506 }
507 
java_nio_CharBuffer_equals___java_lang_Object(JAVA_OBJECT me,JAVA_OBJECT n1)508 JAVA_BOOLEAN java_nio_CharBuffer_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
509 {
510     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_equals___java_lang_Object]
511     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "equals", "?")
512     XMLVMElem _r0;
513     XMLVMElem _r1;
514     XMLVMElem _r2;
515     XMLVMElem _r3;
516     XMLVMElem _r4;
517     XMLVMElem _r5;
518     XMLVMElem _r6;
519     XMLVMElem _r7;
520     _r6.o = me;
521     _r7.o = n1;
522     _r5.i = 1;
523     _r4.i = 0;
524     XMLVM_SOURCE_POSITION("CharBuffer.java", 296)
525     XMLVM_CLASS_INIT(java_nio_CharBuffer)
526     _r0.i = XMLVM_ISA(_r7.o, __CLASS_java_nio_CharBuffer);
527     if (_r0.i != 0) goto label8;
528     _r0 = _r4;
529     label7:;
530     XMLVM_SOURCE_POSITION("CharBuffer.java", 297)
531     XMLVM_SOURCE_POSITION("CharBuffer.java", 312)
532     XMLVM_EXIT_METHOD()
533     return _r0.i;
534     label8:;
535     XMLVM_SOURCE_POSITION("CharBuffer.java", 299)
536     _r7.o = _r7.o;
537     XMLVM_SOURCE_POSITION("CharBuffer.java", 301)
538     XMLVM_CHECK_NPE(6)
539     _r0.i = java_nio_Buffer_remaining__(_r6.o);
540     XMLVM_CHECK_NPE(7)
541     _r1.i = java_nio_Buffer_remaining__(_r7.o);
542     if (_r0.i == _r1.i) goto label22;
543     _r0 = _r4;
544     XMLVM_SOURCE_POSITION("CharBuffer.java", 302)
545     goto label7;
546     label22:;
547     XMLVM_SOURCE_POSITION("CharBuffer.java", 305)
548     XMLVM_CHECK_NPE(6)
549     _r0.i = ((java_nio_Buffer*) _r6.o)->fields.java_nio_Buffer.position_;
550     XMLVM_SOURCE_POSITION("CharBuffer.java", 306)
551     XMLVM_CHECK_NPE(7)
552     _r1.i = ((java_nio_Buffer*) _r7.o)->fields.java_nio_Buffer.position_;
553     _r2 = _r0;
554     _r0 = _r5;
555     label28:;
556     XMLVM_SOURCE_POSITION("CharBuffer.java", 308)
557     if (_r0.i == 0) goto label7;
558     XMLVM_CHECK_NPE(6)
559     _r3.i = ((java_nio_Buffer*) _r6.o)->fields.java_nio_Buffer.limit_;
560     if (_r2.i >= _r3.i) goto label7;
561     XMLVM_SOURCE_POSITION("CharBuffer.java", 309)
562     _r0.i = _r2.i + 1;
563     //java_nio_CharBuffer_get___int[21]
564     XMLVM_CHECK_NPE(6)
565     _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_CharBuffer*) _r6.o)->tib->vtable[21])(_r6.o, _r2.i);
566     _r3.i = _r1.i + 1;
567     //java_nio_CharBuffer_get___int[21]
568     XMLVM_CHECK_NPE(7)
569     _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_CharBuffer*) _r7.o)->tib->vtable[21])(_r7.o, _r1.i);
570     if (_r2.i != _r1.i) goto label53;
571     _r1 = _r5;
572     label49:;
573     _r2 = _r0;
574     _r0 = _r1;
575     _r1 = _r3;
576     goto label28;
577     label53:;
578     _r1 = _r4;
579     goto label49;
580     //XMLVM_END_WRAPPER
581 }
582 
java_nio_CharBuffer_get___char_1ARRAY(JAVA_OBJECT me,JAVA_OBJECT n1)583 JAVA_OBJECT java_nio_CharBuffer_get___char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
584 {
585     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_get___char_1ARRAY]
586     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "get", "?")
587     XMLVMElem _r0;
588     XMLVMElem _r1;
589     XMLVMElem _r2;
590     XMLVMElem _r3;
591     _r2.o = me;
592     _r3.o = n1;
593     XMLVM_SOURCE_POSITION("CharBuffer.java", 338)
594     _r0.i = 0;
595     _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
596     //java_nio_CharBuffer_get___char_1ARRAY_int_int[20]
597     XMLVM_CHECK_NPE(2)
598     _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_INT, JAVA_INT)) ((java_nio_CharBuffer*) _r2.o)->tib->vtable[20])(_r2.o, _r3.o, _r0.i, _r1.i);
599     XMLVM_EXIT_METHOD()
600     return _r0.o;
601     //XMLVM_END_WRAPPER
602 }
603 
java_nio_CharBuffer_get___char_1ARRAY_int_int(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2,JAVA_INT n3)604 JAVA_OBJECT java_nio_CharBuffer_get___char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
605 {
606     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_get___char_1ARRAY_int_int]
607     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "get", "?")
608     XMLVMElem _r0;
609     XMLVMElem _r1;
610     XMLVMElem _r2;
611     XMLVMElem _r3;
612     XMLVMElem _r4;
613     XMLVMElem _r5;
614     XMLVMElem _r6;
615     XMLVMElem _r7;
616     XMLVMElem _r8;
617     _r5.o = me;
618     _r6.o = n1;
619     _r7.i = n2;
620     _r8.i = n3;
621     XMLVM_SOURCE_POSITION("CharBuffer.java", 361)
622     _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
623     XMLVM_SOURCE_POSITION("CharBuffer.java", 362)
624     if (_r7.i < 0) goto label13;
625     if (_r8.i < 0) goto label13;
626     _r1.l = (JAVA_LONG) _r7.i;
627     _r3.l = (JAVA_LONG) _r8.i;
628     _r1.l = _r1.l + _r3.l;
629     _r3.l = (JAVA_LONG) _r0.i;
630     _r0.i = _r1.l > _r3.l ? 1 : (_r1.l == _r3.l ? 0 : -1);
631     if (_r0.i <= 0) goto label19;
632     label13:;
633     XMLVM_SOURCE_POSITION("CharBuffer.java", 363)
634     _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
635     XMLVM_CHECK_NPE(0)
636     java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
637     XMLVM_THROW_CUSTOM(_r0.o)
638     label19:;
639     XMLVM_SOURCE_POSITION("CharBuffer.java", 366)
640     XMLVM_CHECK_NPE(5)
641     _r0.i = java_nio_Buffer_remaining__(_r5.o);
642     if (_r8.i <= _r0.i) goto label31;
643     XMLVM_SOURCE_POSITION("CharBuffer.java", 367)
644 
645 
646     // Red class access removed: java.nio.BufferUnderflowException::new-instance
647     XMLVM_RED_CLASS_DEPENDENCY();
648 
649 
650     // Red class access removed: java.nio.BufferUnderflowException::<init>
651     XMLVM_RED_CLASS_DEPENDENCY();
652     XMLVM_THROW_CUSTOM(_r0.o)
653     label31:;
654     _r0 = _r7;
655     label32:;
656     XMLVM_SOURCE_POSITION("CharBuffer.java", 369)
657     _r1.i = _r7.i + _r8.i;
658     if (_r0.i < _r1.i) goto label37;
659     XMLVM_SOURCE_POSITION("CharBuffer.java", 372)
660     XMLVM_EXIT_METHOD()
661     return _r5.o;
662     label37:;
663     XMLVM_SOURCE_POSITION("CharBuffer.java", 370)
664     //java_nio_CharBuffer_get__[19]
665     XMLVM_CHECK_NPE(5)
666     _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r5.o)->tib->vtable[19])(_r5.o);
667     XMLVM_CHECK_NPE(6)
668     XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r0.i);
669     ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r1.i;
670     _r0.i = _r0.i + 1;
671     goto label32;
672     //XMLVM_END_WRAPPER
673 }
674 
java_nio_CharBuffer_hasArray__(JAVA_OBJECT me)675 JAVA_BOOLEAN java_nio_CharBuffer_hasArray__(JAVA_OBJECT me)
676 {
677     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_hasArray__]
678     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "hasArray", "?")
679     XMLVMElem _r0;
680     XMLVMElem _r1;
681     _r1.o = me;
682     XMLVM_SOURCE_POSITION("CharBuffer.java", 393)
683     //java_nio_CharBuffer_protectedHasArray__[26]
684     XMLVM_CHECK_NPE(1)
685     _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r1.o)->tib->vtable[26])(_r1.o);
686     XMLVM_EXIT_METHOD()
687     return _r0.i;
688     //XMLVM_END_WRAPPER
689 }
690 
java_nio_CharBuffer_hashCode__(JAVA_OBJECT me)691 JAVA_INT java_nio_CharBuffer_hashCode__(JAVA_OBJECT me)
692 {
693     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_hashCode__]
694     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "hashCode", "?")
695     XMLVMElem _r0;
696     XMLVMElem _r1;
697     XMLVMElem _r2;
698     XMLVMElem _r3;
699     XMLVMElem _r4;
700     _r4.o = me;
701     XMLVM_SOURCE_POSITION("CharBuffer.java", 404)
702     XMLVM_CHECK_NPE(4)
703     _r0.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_;
704     XMLVM_SOURCE_POSITION("CharBuffer.java", 405)
705     _r1.i = 0;
706     _r3 = _r1;
707     _r1 = _r0;
708     _r0 = _r3;
709     label6:;
710     XMLVM_SOURCE_POSITION("CharBuffer.java", 406)
711     XMLVM_CHECK_NPE(4)
712     _r2.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.limit_;
713     if (_r1.i < _r2.i) goto label11;
714     XMLVM_SOURCE_POSITION("CharBuffer.java", 409)
715     XMLVM_EXIT_METHOD()
716     return _r0.i;
717     label11:;
718     XMLVM_SOURCE_POSITION("CharBuffer.java", 407)
719     _r2.i = _r1.i + 1;
720     //java_nio_CharBuffer_get___int[21]
721     XMLVM_CHECK_NPE(4)
722     _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_CharBuffer*) _r4.o)->tib->vtable[21])(_r4.o, _r1.i);
723     _r0.i = _r0.i + _r1.i;
724     _r1 = _r2;
725     goto label6;
726     //XMLVM_END_WRAPPER
727 }
728 
java_nio_CharBuffer_length__(JAVA_OBJECT me)729 JAVA_INT java_nio_CharBuffer_length__(JAVA_OBJECT me)
730 {
731     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_length__]
732     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "length", "?")
733     XMLVMElem _r0;
734     XMLVMElem _r1;
735     _r1.o = me;
736     XMLVM_SOURCE_POSITION("CharBuffer.java", 430)
737     XMLVM_CHECK_NPE(1)
738     _r0.i = java_nio_Buffer_remaining__(_r1.o);
739     XMLVM_EXIT_METHOD()
740     return _r0.i;
741     //XMLVM_END_WRAPPER
742 }
743 
java_nio_CharBuffer_put___char_1ARRAY(JAVA_OBJECT me,JAVA_OBJECT n1)744 JAVA_OBJECT java_nio_CharBuffer_put___char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
745 {
746     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_put___char_1ARRAY]
747     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "put", "?")
748     XMLVMElem _r0;
749     XMLVMElem _r1;
750     XMLVMElem _r2;
751     XMLVMElem _r3;
752     _r2.o = me;
753     _r3.o = n1;
754     XMLVM_SOURCE_POSITION("CharBuffer.java", 496)
755     _r0.i = 0;
756     _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
757     //java_nio_CharBuffer_put___char_1ARRAY_int_int[28]
758     XMLVM_CHECK_NPE(2)
759     _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_INT, JAVA_INT)) ((java_nio_CharBuffer*) _r2.o)->tib->vtable[28])(_r2.o, _r3.o, _r0.i, _r1.i);
760     XMLVM_EXIT_METHOD()
761     return _r0.o;
762     //XMLVM_END_WRAPPER
763 }
764 
java_nio_CharBuffer_put___char_1ARRAY_int_int(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2,JAVA_INT n3)765 JAVA_OBJECT java_nio_CharBuffer_put___char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
766 {
767     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_put___char_1ARRAY_int_int]
768     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "put", "?")
769     XMLVMElem _r0;
770     XMLVMElem _r1;
771     XMLVMElem _r2;
772     XMLVMElem _r3;
773     XMLVMElem _r4;
774     XMLVMElem _r5;
775     XMLVMElem _r6;
776     XMLVMElem _r7;
777     XMLVMElem _r8;
778     _r5.o = me;
779     _r6.o = n1;
780     _r7.i = n2;
781     _r8.i = n3;
782     XMLVM_SOURCE_POSITION("CharBuffer.java", 521)
783     _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
784     XMLVM_SOURCE_POSITION("CharBuffer.java", 522)
785     if (_r7.i < 0) goto label13;
786     if (_r8.i < 0) goto label13;
787     _r1.l = (JAVA_LONG) _r7.i;
788     _r3.l = (JAVA_LONG) _r8.i;
789     _r1.l = _r1.l + _r3.l;
790     _r3.l = (JAVA_LONG) _r0.i;
791     _r0.i = _r1.l > _r3.l ? 1 : (_r1.l == _r3.l ? 0 : -1);
792     if (_r0.i <= 0) goto label19;
793     label13:;
794     XMLVM_SOURCE_POSITION("CharBuffer.java", 523)
795     _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
796     XMLVM_CHECK_NPE(0)
797     java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
798     XMLVM_THROW_CUSTOM(_r0.o)
799     label19:;
800     XMLVM_SOURCE_POSITION("CharBuffer.java", 526)
801     XMLVM_CHECK_NPE(5)
802     _r0.i = java_nio_Buffer_remaining__(_r5.o);
803     if (_r8.i <= _r0.i) goto label31;
804     XMLVM_SOURCE_POSITION("CharBuffer.java", 527)
805 
806 
807     // Red class access removed: java.nio.BufferOverflowException::new-instance
808     XMLVM_RED_CLASS_DEPENDENCY();
809 
810 
811     // Red class access removed: java.nio.BufferOverflowException::<init>
812     XMLVM_RED_CLASS_DEPENDENCY();
813     XMLVM_THROW_CUSTOM(_r0.o)
814     label31:;
815     _r0 = _r7;
816     label32:;
817     XMLVM_SOURCE_POSITION("CharBuffer.java", 529)
818     _r1.i = _r7.i + _r8.i;
819     if (_r0.i < _r1.i) goto label37;
820     XMLVM_SOURCE_POSITION("CharBuffer.java", 532)
821     XMLVM_EXIT_METHOD()
822     return _r5.o;
823     label37:;
824     XMLVM_SOURCE_POSITION("CharBuffer.java", 530)
825     XMLVM_CHECK_NPE(6)
826     XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r0.i);
827     _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
828     //java_nio_CharBuffer_put___char[27]
829     XMLVM_CHECK_NPE(5)
830     (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_nio_CharBuffer*) _r5.o)->tib->vtable[27])(_r5.o, _r1.i);
831     _r0.i = _r0.i + 1;
832     goto label32;
833     //XMLVM_END_WRAPPER
834 }
835 
java_nio_CharBuffer_put___java_nio_CharBuffer(JAVA_OBJECT me,JAVA_OBJECT n1)836 JAVA_OBJECT java_nio_CharBuffer_put___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
837 {
838     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_put___java_nio_CharBuffer]
839     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "put", "?")
840     XMLVMElem _r0;
841     XMLVMElem _r1;
842     XMLVMElem _r2;
843     XMLVMElem _r3;
844     _r2.o = me;
845     _r3.o = n1;
846     XMLVM_SOURCE_POSITION("CharBuffer.java", 552)
847     if (_r3.o != _r2.o) goto label8;
848     XMLVM_SOURCE_POSITION("CharBuffer.java", 553)
849 
850 
851     // Red class access removed: java.lang.IllegalArgumentException::new-instance
852     XMLVM_RED_CLASS_DEPENDENCY();
853 
854 
855     // Red class access removed: java.lang.IllegalArgumentException::<init>
856     XMLVM_RED_CLASS_DEPENDENCY();
857     XMLVM_THROW_CUSTOM(_r0.o)
858     label8:;
859     XMLVM_SOURCE_POSITION("CharBuffer.java", 555)
860     XMLVM_CHECK_NPE(3)
861     _r0.i = java_nio_Buffer_remaining__(_r3.o);
862     XMLVM_CHECK_NPE(2)
863     _r1.i = java_nio_Buffer_remaining__(_r2.o);
864     if (_r0.i <= _r1.i) goto label24;
865     XMLVM_SOURCE_POSITION("CharBuffer.java", 556)
866 
867 
868     // Red class access removed: java.nio.BufferOverflowException::new-instance
869     XMLVM_RED_CLASS_DEPENDENCY();
870 
871 
872     // Red class access removed: java.nio.BufferOverflowException::<init>
873     XMLVM_RED_CLASS_DEPENDENCY();
874     XMLVM_THROW_CUSTOM(_r0.o)
875     label24:;
876     XMLVM_SOURCE_POSITION("CharBuffer.java", 559)
877     XMLVM_CHECK_NPE(3)
878     _r0.i = java_nio_Buffer_remaining__(_r3.o);
879     XMLVM_CLASS_INIT(char)
880     _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
881     XMLVM_SOURCE_POSITION("CharBuffer.java", 560)
882     XMLVM_CHECK_NPE(3)
883     java_nio_CharBuffer_get___char_1ARRAY(_r3.o, _r0.o);
884     XMLVM_SOURCE_POSITION("CharBuffer.java", 561)
885     XMLVM_CHECK_NPE(2)
886     java_nio_CharBuffer_put___char_1ARRAY(_r2.o, _r0.o);
887     XMLVM_SOURCE_POSITION("CharBuffer.java", 562)
888     XMLVM_EXIT_METHOD()
889     return _r2.o;
890     //XMLVM_END_WRAPPER
891 }
892 
java_nio_CharBuffer_put___java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1)893 JAVA_OBJECT java_nio_CharBuffer_put___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
894 {
895     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_put___java_lang_String]
896     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "put", "?")
897     XMLVMElem _r0;
898     XMLVMElem _r1;
899     XMLVMElem _r2;
900     XMLVMElem _r3;
901     _r2.o = me;
902     _r3.o = n1;
903     XMLVM_SOURCE_POSITION("CharBuffer.java", 597)
904     _r0.i = 0;
905     //java_lang_String_length__[8]
906     XMLVM_CHECK_NPE(3)
907     _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r3.o)->tib->vtable[8])(_r3.o);
908     XMLVM_CHECK_NPE(2)
909     _r0.o = java_nio_CharBuffer_put___java_lang_String_int_int(_r2.o, _r3.o, _r0.i, _r1.i);
910     XMLVM_EXIT_METHOD()
911     return _r0.o;
912     //XMLVM_END_WRAPPER
913 }
914 
java_nio_CharBuffer_put___java_lang_String_int_int(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2,JAVA_INT n3)915 JAVA_OBJECT java_nio_CharBuffer_put___java_lang_String_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
916 {
917     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_put___java_lang_String_int_int]
918     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "put", "?")
919     XMLVMElem _r0;
920     XMLVMElem _r1;
921     XMLVMElem _r2;
922     XMLVMElem _r3;
923     XMLVMElem _r4;
924     XMLVMElem _r5;
925     _r2.o = me;
926     _r3.o = n1;
927     _r4.i = n2;
928     _r5.i = n3;
929     XMLVM_SOURCE_POSITION("CharBuffer.java", 621)
930     //java_lang_String_length__[8]
931     XMLVM_CHECK_NPE(3)
932     _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r3.o)->tib->vtable[8])(_r3.o);
933     XMLVM_SOURCE_POSITION("CharBuffer.java", 622)
934     if (_r4.i < 0) goto label10;
935     if (_r5.i < _r4.i) goto label10;
936     if (_r5.i <= _r0.i) goto label16;
937     label10:;
938     XMLVM_SOURCE_POSITION("CharBuffer.java", 623)
939     _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
940     XMLVM_CHECK_NPE(0)
941     java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
942     XMLVM_THROW_CUSTOM(_r0.o)
943     label16:;
944     XMLVM_SOURCE_POSITION("CharBuffer.java", 626)
945     _r0.i = _r5.i - _r4.i;
946     XMLVM_CHECK_NPE(2)
947     _r1.i = java_nio_Buffer_remaining__(_r2.o);
948     if (_r0.i <= _r1.i) goto label30;
949     XMLVM_SOURCE_POSITION("CharBuffer.java", 627)
950 
951 
952     // Red class access removed: java.nio.BufferOverflowException::new-instance
953     XMLVM_RED_CLASS_DEPENDENCY();
954 
955 
956     // Red class access removed: java.nio.BufferOverflowException::<init>
957     XMLVM_RED_CLASS_DEPENDENCY();
958     XMLVM_THROW_CUSTOM(_r0.o)
959     label30:;
960     _r0 = _r4;
961     label31:;
962     XMLVM_SOURCE_POSITION("CharBuffer.java", 629)
963     if (_r0.i < _r5.i) goto label34;
964     XMLVM_SOURCE_POSITION("CharBuffer.java", 632)
965     XMLVM_EXIT_METHOD()
966     return _r2.o;
967     label34:;
968     XMLVM_SOURCE_POSITION("CharBuffer.java", 630)
969     //java_lang_String_charAt___int[6]
970     XMLVM_CHECK_NPE(3)
971     _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r0.i);
972     //java_nio_CharBuffer_put___char[27]
973     XMLVM_CHECK_NPE(2)
974     (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_nio_CharBuffer*) _r2.o)->tib->vtable[27])(_r2.o, _r1.i);
975     _r0.i = _r0.i + 1;
976     goto label31;
977     //XMLVM_END_WRAPPER
978 }
979 
java_nio_CharBuffer_toString__(JAVA_OBJECT me)980 JAVA_OBJECT java_nio_CharBuffer_toString__(JAVA_OBJECT me)
981 {
982     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_toString__]
983     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "toString", "?")
984     XMLVMElem _r0;
985     XMLVMElem _r1;
986     XMLVMElem _r2;
987     XMLVMElem _r3;
988     _r3.o = me;
989     XMLVM_SOURCE_POSITION("CharBuffer.java", 689)
990     _r0.o = __NEW_java_lang_StringBuilder();
991     XMLVM_CHECK_NPE(0)
992     java_lang_StringBuilder___INIT___(_r0.o);
993     XMLVM_SOURCE_POSITION("CharBuffer.java", 690)
994     XMLVM_CHECK_NPE(3)
995     _r1.i = ((java_nio_Buffer*) _r3.o)->fields.java_nio_Buffer.position_;
996     label7:;
997     XMLVM_CHECK_NPE(3)
998     _r2.i = ((java_nio_Buffer*) _r3.o)->fields.java_nio_Buffer.limit_;
999     if (_r1.i < _r2.i) goto label16;
1000     XMLVM_SOURCE_POSITION("CharBuffer.java", 693)
1001     //java_lang_StringBuilder_toString__[5]
1002     XMLVM_CHECK_NPE(0)
1003     _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
1004     XMLVM_EXIT_METHOD()
1005     return _r0.o;
1006     label16:;
1007     XMLVM_SOURCE_POSITION("CharBuffer.java", 691)
1008     //java_nio_CharBuffer_get___int[21]
1009     XMLVM_CHECK_NPE(3)
1010     _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_CharBuffer*) _r3.o)->tib->vtable[21])(_r3.o, _r1.i);
1011     //java_lang_StringBuilder_append___char[6]
1012     XMLVM_CHECK_NPE(0)
1013     (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r2.i);
1014     _r1.i = _r1.i + 1;
1015     goto label7;
1016     //XMLVM_END_WRAPPER
1017 }
1018 
java_nio_CharBuffer_append___char(JAVA_OBJECT me,JAVA_CHAR n1)1019 JAVA_OBJECT java_nio_CharBuffer_append___char(JAVA_OBJECT me, JAVA_CHAR n1)
1020 {
1021     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_append___char]
1022     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "append", "?")
1023     XMLVMElem _r0;
1024     XMLVMElem _r1;
1025     XMLVMElem _r2;
1026     _r1.o = me;
1027     _r2.i = n1;
1028     XMLVM_SOURCE_POSITION("CharBuffer.java", 709)
1029     //java_nio_CharBuffer_put___char[27]
1030     XMLVM_CHECK_NPE(1)
1031     _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_nio_CharBuffer*) _r1.o)->tib->vtable[27])(_r1.o, _r2.i);
1032     XMLVM_EXIT_METHOD()
1033     return _r0.o;
1034     //XMLVM_END_WRAPPER
1035 }
1036 
java_nio_CharBuffer_append___java_lang_CharSequence(JAVA_OBJECT me,JAVA_OBJECT n1)1037 JAVA_OBJECT java_nio_CharBuffer_append___java_lang_CharSequence(JAVA_OBJECT me, JAVA_OBJECT n1)
1038 {
1039     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_append___java_lang_CharSequence]
1040     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "append", "?")
1041     XMLVMElem _r0;
1042     XMLVMElem _r1;
1043     XMLVMElem _r2;
1044     _r1.o = me;
1045     _r2.o = n1;
1046     XMLVM_SOURCE_POSITION("CharBuffer.java", 730)
1047     if (_r2.o == JAVA_NULL) goto label11;
1048     XMLVM_SOURCE_POSITION("CharBuffer.java", 731)
1049     XMLVM_CHECK_NPE(2)
1050     _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_toString__])(_r2.o);
1051     XMLVM_CHECK_NPE(1)
1052     _r0.o = java_nio_CharBuffer_put___java_lang_String(_r1.o, _r0.o);
1053     label10:;
1054     XMLVM_SOURCE_POSITION("CharBuffer.java", 733)
1055     XMLVM_EXIT_METHOD()
1056     return _r0.o;
1057     label11:;
1058     // "null"
1059     _r0.o = xmlvm_create_java_string_from_pool(63);
1060     XMLVM_CHECK_NPE(1)
1061     _r0.o = java_nio_CharBuffer_put___java_lang_String(_r1.o, _r0.o);
1062     goto label10;
1063     //XMLVM_END_WRAPPER
1064 }
1065 
java_nio_CharBuffer_append___java_lang_CharSequence_int_int(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2,JAVA_INT n3)1066 JAVA_OBJECT java_nio_CharBuffer_append___java_lang_CharSequence_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
1067 {
1068     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_append___java_lang_CharSequence_int_int]
1069     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "append", "?")
1070     XMLVMElem _r0;
1071     XMLVMElem _r1;
1072     XMLVMElem _r2;
1073     XMLVMElem _r3;
1074     XMLVMElem _r4;
1075     XMLVMElem _r5;
1076     _r2.o = me;
1077     _r3.o = n1;
1078     _r4.i = n2;
1079     _r5.i = n3;
1080     XMLVM_SOURCE_POSITION("CharBuffer.java", 757)
1081     if (_r3.o != JAVA_NULL) goto label25;
1082     XMLVM_SOURCE_POSITION("CharBuffer.java", 758)
1083     // "null"
1084     _r0.o = xmlvm_create_java_string_from_pool(63);
1085     label4:;
1086     XMLVM_SOURCE_POSITION("CharBuffer.java", 760)
1087     XMLVM_CHECK_NPE(0)
1088     _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT, JAVA_INT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_subSequence___int_int])(_r0.o, _r4.i, _r5.i);
1089     XMLVM_SOURCE_POSITION("CharBuffer.java", 761)
1090     XMLVM_CHECK_NPE(0)
1091     _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__])(_r0.o);
1092     if (_r1.i <= 0) goto label23;
1093     XMLVM_SOURCE_POSITION("CharBuffer.java", 762)
1094     XMLVM_CHECK_NPE(0)
1095     _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_toString__])(_r0.o);
1096     XMLVM_CHECK_NPE(2)
1097     _r0.o = java_nio_CharBuffer_put___java_lang_String(_r2.o, _r0.o);
1098     label22:;
1099     XMLVM_SOURCE_POSITION("CharBuffer.java", 764)
1100     XMLVM_EXIT_METHOD()
1101     return _r0.o;
1102     label23:;
1103     _r0 = _r2;
1104     goto label22;
1105     label25:;
1106     _r0 = _r3;
1107     goto label4;
1108     //XMLVM_END_WRAPPER
1109 }
1110 
java_nio_CharBuffer_read___java_nio_CharBuffer(JAVA_OBJECT me,JAVA_OBJECT n1)1111 JAVA_INT java_nio_CharBuffer_read___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
1112 {
1113     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_read___java_nio_CharBuffer]
1114     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "read", "?")
1115     XMLVMElem _r0;
1116     XMLVMElem _r1;
1117     XMLVMElem _r2;
1118     XMLVMElem _r3;
1119     _r2.o = me;
1120     _r3.o = n1;
1121     _r1.i = -1;
1122     XMLVM_SOURCE_POSITION("CharBuffer.java", 785)
1123     XMLVM_CHECK_NPE(2)
1124     _r0.i = java_nio_Buffer_remaining__(_r2.o);
1125     XMLVM_SOURCE_POSITION("CharBuffer.java", 786)
1126     if (_r3.o != _r2.o) goto label17;
1127     XMLVM_SOURCE_POSITION("CharBuffer.java", 787)
1128     if (_r0.i != 0) goto label11;
1129     _r0 = _r1;
1130     label10:;
1131     XMLVM_SOURCE_POSITION("CharBuffer.java", 788)
1132     XMLVM_SOURCE_POSITION("CharBuffer.java", 801)
1133     XMLVM_EXIT_METHOD()
1134     return _r0.i;
1135     label11:;
1136     XMLVM_SOURCE_POSITION("CharBuffer.java", 790)
1137 
1138 
1139     // Red class access removed: java.lang.IllegalArgumentException::new-instance
1140     XMLVM_RED_CLASS_DEPENDENCY();
1141 
1142 
1143     // Red class access removed: java.lang.IllegalArgumentException::<init>
1144     XMLVM_RED_CLASS_DEPENDENCY();
1145     XMLVM_THROW_CUSTOM(_r0.o)
1146     label17:;
1147     XMLVM_SOURCE_POSITION("CharBuffer.java", 792)
1148     if (_r0.i != 0) goto label33;
1149     XMLVM_SOURCE_POSITION("CharBuffer.java", 793)
1150     XMLVM_CHECK_NPE(2)
1151     _r0.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.limit_;
1152     if (_r0.i <= 0) goto label31;
1153     XMLVM_CHECK_NPE(3)
1154     _r0.i = java_nio_Buffer_remaining__(_r3.o);
1155     if (_r0.i != 0) goto label31;
1156     _r0.i = 0;
1157     goto label10;
1158     label31:;
1159     _r0 = _r1;
1160     goto label10;
1161     label33:;
1162     XMLVM_SOURCE_POSITION("CharBuffer.java", 795)
1163     XMLVM_CHECK_NPE(3)
1164     _r1.i = java_nio_Buffer_remaining__(_r3.o);
1165     _r0.i = java_lang_Math_min___int_int(_r1.i, _r0.i);
1166     XMLVM_SOURCE_POSITION("CharBuffer.java", 796)
1167     if (_r0.i <= 0) goto label10;
1168     XMLVM_SOURCE_POSITION("CharBuffer.java", 797)
1169     XMLVM_CLASS_INIT(char)
1170     _r1.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
1171     XMLVM_SOURCE_POSITION("CharBuffer.java", 798)
1172     XMLVM_CHECK_NPE(2)
1173     java_nio_CharBuffer_get___char_1ARRAY(_r2.o, _r1.o);
1174     XMLVM_SOURCE_POSITION("CharBuffer.java", 799)
1175     XMLVM_CHECK_NPE(3)
1176     java_nio_CharBuffer_put___char_1ARRAY(_r3.o, _r1.o);
1177     goto label10;
1178     //XMLVM_END_WRAPPER
1179 }
1180 
java_nio_CharBuffer_compareTo___java_lang_Object(JAVA_OBJECT me,JAVA_OBJECT n1)1181 JAVA_INT java_nio_CharBuffer_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
1182 {
1183     //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_compareTo___java_lang_Object]
1184     XMLVM_ENTER_METHOD("java.nio.CharBuffer", "compareTo", "?")
1185     XMLVMElem _r0;
1186     XMLVMElem _r1;
1187     XMLVMElem _r2;
1188     _r1.o = me;
1189     _r2.o = n1;
1190     XMLVM_SOURCE_POSITION("CharBuffer.java", 1)
1191     _r2.o = _r2.o;
1192     XMLVM_CHECK_NPE(1)
1193     _r0.i = java_nio_CharBuffer_compareTo___java_nio_CharBuffer(_r1.o, _r2.o);
1194     XMLVM_EXIT_METHOD()
1195     return _r0.i;
1196     //XMLVM_END_WRAPPER
1197 }
1198 
1199