1 #include "xmlvm.h"
2 #include "java_io_ObjectStreamField.h"
3 #include "java_lang_Class.h"
4 #include "java_lang_IndexOutOfBoundsException.h"
5 #include "java_lang_Integer.h"
6 #include "java_lang_Object.h"
7 #include "java_lang_String.h"
8 #include "java_lang_System.h"
9 #include "java_lang_reflect_Array.h"
10 #include "java_util_Collection.h"
11 #include "java_util_Iterator.h"
12 #include "org_apache_harmony_luni_internal_nls_Messages.h"
13 
14 #include "java_util_ArrayList.h"
15 
16 #define XMLVM_CURRENT_CLASS_NAME ArrayList
17 #define XMLVM_CURRENT_PKG_CLASS_NAME java_util_ArrayList
18 
19 __TIB_DEFINITION_java_util_ArrayList __TIB_java_util_ArrayList = {
20     0, // classInitializationBegan
21     0, // classInitialized
22     -1, // initializerThreadId
23     __INIT_java_util_ArrayList, // classInitializer
24     "java.util.ArrayList", // className
25     "java.util", // package
26     JAVA_NULL, // enclosingClassName
27     JAVA_NULL, // enclosingMethodName
28     "<E:Ljava/lang/Object;>Ljava/util/AbstractList<TE;>;Ljava/util/List<TE;>;Ljava/lang/Cloneable;Ljava/io/Serializable;Ljava/util/RandomAccess;", // signature
29     (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_AbstractList, // extends
30     sizeof(java_util_ArrayList), // sizeInstance
31     XMLVM_TYPE_CLASS};
32 
33 JAVA_OBJECT __CLASS_java_util_ArrayList;
34 JAVA_OBJECT __CLASS_java_util_ArrayList_1ARRAY;
35 JAVA_OBJECT __CLASS_java_util_ArrayList_2ARRAY;
36 JAVA_OBJECT __CLASS_java_util_ArrayList_3ARRAY;
37 //XMLVM_BEGIN_IMPLEMENTATION
38 //XMLVM_END_IMPLEMENTATION
39 
40 static JAVA_LONG _STATIC_java_util_ArrayList_serialVersionUID;
41 static JAVA_OBJECT _STATIC_java_util_ArrayList_serialPersistentFields;
42 
43 #include "xmlvm-reflection.h"
44 
45 static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
46 };
47 
48 static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
49 };
50 
constructor_dispatcher(JAVA_OBJECT constructor,JAVA_OBJECT arguments)51 static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
52 {
53     XMLVM_NOT_IMPLEMENTED();
54 }
55 
56 static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
57 };
58 
method_dispatcher(JAVA_OBJECT method,JAVA_OBJECT receiver,JAVA_OBJECT arguments)59 static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
60 {
61     XMLVM_NOT_IMPLEMENTED();
62 }
63 
__INIT_java_util_ArrayList()64 void __INIT_java_util_ArrayList()
65 {
66     staticInitializerLock(&__TIB_java_util_ArrayList);
67 
68     // While the static initializer mutex is locked, locally store the value of
69     // whether class initialization began or not
70     int initBegan = __TIB_java_util_ArrayList.classInitializationBegan;
71 
72     // Whether or not class initialization had already began, it has begun now
73     __TIB_java_util_ArrayList.classInitializationBegan = 1;
74 
75     staticInitializerUnlock(&__TIB_java_util_ArrayList);
76 
77     JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
78     if (initBegan) {
79         if (__TIB_java_util_ArrayList.initializerThreadId != curThreadId) {
80             // Busy wait until the other thread finishes initializing this class
81             while (!__TIB_java_util_ArrayList.classInitialized) {
82                 // do nothing
83             }
84         }
85     } else {
86         __TIB_java_util_ArrayList.initializerThreadId = curThreadId;
87         XMLVM_CLASS_USED("java.util.ArrayList")
88         __INIT_IMPL_java_util_ArrayList();
89     }
90 }
91 
__INIT_IMPL_java_util_ArrayList()92 void __INIT_IMPL_java_util_ArrayList()
93 {
94     // Initialize base class if necessary
95     XMLVM_CLASS_INIT(java_util_AbstractList)
96     __TIB_java_util_ArrayList.newInstanceFunc = __NEW_INSTANCE_java_util_ArrayList;
97     // Copy vtable from base class
98     XMLVM_MEMCPY(__TIB_java_util_ArrayList.vtable, __TIB_java_util_AbstractList.vtable, sizeof(__TIB_java_util_AbstractList.vtable));
99     // Initialize vtable for this class
100     __TIB_java_util_ArrayList.vtable[20] = (VTABLE_PTR) &java_util_ArrayList_add___int_java_lang_Object;
101     __TIB_java_util_ArrayList.vtable[7] = (VTABLE_PTR) &java_util_ArrayList_add___java_lang_Object;
102     __TIB_java_util_ArrayList.vtable[19] = (VTABLE_PTR) &java_util_ArrayList_addAll___int_java_util_Collection;
103     __TIB_java_util_ArrayList.vtable[6] = (VTABLE_PTR) &java_util_ArrayList_addAll___java_util_Collection;
104     __TIB_java_util_ArrayList.vtable[8] = (VTABLE_PTR) &java_util_ArrayList_clear__;
105     __TIB_java_util_ArrayList.vtable[0] = (VTABLE_PTR) &java_util_ArrayList_clone__;
106     __TIB_java_util_ArrayList.vtable[10] = (VTABLE_PTR) &java_util_ArrayList_contains___java_lang_Object;
107     __TIB_java_util_ArrayList.vtable[21] = (VTABLE_PTR) &java_util_ArrayList_get___int;
108     __TIB_java_util_ArrayList.vtable[22] = (VTABLE_PTR) &java_util_ArrayList_indexOf___java_lang_Object;
109     __TIB_java_util_ArrayList.vtable[11] = (VTABLE_PTR) &java_util_ArrayList_isEmpty__;
110     __TIB_java_util_ArrayList.vtable[23] = (VTABLE_PTR) &java_util_ArrayList_lastIndexOf___java_lang_Object;
111     __TIB_java_util_ArrayList.vtable[27] = (VTABLE_PTR) &java_util_ArrayList_remove___int;
112     __TIB_java_util_ArrayList.vtable[14] = (VTABLE_PTR) &java_util_ArrayList_remove___java_lang_Object;
113     __TIB_java_util_ArrayList.vtable[26] = (VTABLE_PTR) &java_util_ArrayList_removeRange___int_int;
114     __TIB_java_util_ArrayList.vtable[28] = (VTABLE_PTR) &java_util_ArrayList_set___int_java_lang_Object;
115     __TIB_java_util_ArrayList.vtable[16] = (VTABLE_PTR) &java_util_ArrayList_size__;
116     __TIB_java_util_ArrayList.vtable[17] = (VTABLE_PTR) &java_util_ArrayList_toArray__;
117     __TIB_java_util_ArrayList.vtable[18] = (VTABLE_PTR) &java_util_ArrayList_toArray___java_lang_Object_1ARRAY;
118     // Initialize interface information
119     __TIB_java_util_ArrayList.numImplementedInterfaces = 6;
120     __TIB_java_util_ArrayList.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 6);
121 
122     // Initialize interfaces if necessary and assign tib to implementedInterfaces
123 
124     XMLVM_CLASS_INIT(java_io_Serializable)
125 
126     __TIB_java_util_ArrayList.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
127 
128     XMLVM_CLASS_INIT(java_lang_Cloneable)
129 
130     __TIB_java_util_ArrayList.implementedInterfaces[0][1] = &__TIB_java_lang_Cloneable;
131 
132     XMLVM_CLASS_INIT(java_lang_Iterable)
133 
134     __TIB_java_util_ArrayList.implementedInterfaces[0][2] = &__TIB_java_lang_Iterable;
135 
136     XMLVM_CLASS_INIT(java_util_Collection)
137 
138     __TIB_java_util_ArrayList.implementedInterfaces[0][3] = &__TIB_java_util_Collection;
139 
140     XMLVM_CLASS_INIT(java_util_List)
141 
142     __TIB_java_util_ArrayList.implementedInterfaces[0][4] = &__TIB_java_util_List;
143 
144     XMLVM_CLASS_INIT(java_util_RandomAccess)
145 
146     __TIB_java_util_ArrayList.implementedInterfaces[0][5] = &__TIB_java_util_RandomAccess;
147     // Initialize itable for this class
148     __TIB_java_util_ArrayList.itableBegin = &__TIB_java_util_ArrayList.itable[0];
149     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_lang_Iterable_iterator__] = __TIB_java_util_ArrayList.vtable[12];
150     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_addAll___java_util_Collection] = __TIB_java_util_ArrayList.vtable[6];
151     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_add___java_lang_Object] = __TIB_java_util_ArrayList.vtable[7];
152     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_clear__] = __TIB_java_util_ArrayList.vtable[8];
153     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_containsAll___java_util_Collection] = __TIB_java_util_ArrayList.vtable[9];
154     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_contains___java_lang_Object] = __TIB_java_util_ArrayList.vtable[10];
155     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_equals___java_lang_Object] = __TIB_java_util_ArrayList.vtable[1];
156     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_hashCode__] = __TIB_java_util_ArrayList.vtable[4];
157     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_isEmpty__] = __TIB_java_util_ArrayList.vtable[11];
158     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_iterator__] = __TIB_java_util_ArrayList.vtable[12];
159     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_removeAll___java_util_Collection] = __TIB_java_util_ArrayList.vtable[13];
160     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_remove___java_lang_Object] = __TIB_java_util_ArrayList.vtable[14];
161     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_retainAll___java_util_Collection] = __TIB_java_util_ArrayList.vtable[15];
162     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_size__] = __TIB_java_util_ArrayList.vtable[16];
163     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_toArray__] = __TIB_java_util_ArrayList.vtable[17];
164     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_toArray___java_lang_Object_1ARRAY] = __TIB_java_util_ArrayList.vtable[18];
165     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_addAll___int_java_util_Collection] = __TIB_java_util_ArrayList.vtable[19];
166     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_addAll___java_util_Collection] = __TIB_java_util_ArrayList.vtable[6];
167     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_add___int_java_lang_Object] = __TIB_java_util_ArrayList.vtable[20];
168     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_add___java_lang_Object] = __TIB_java_util_ArrayList.vtable[7];
169     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_clear__] = __TIB_java_util_ArrayList.vtable[8];
170     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_containsAll___java_util_Collection] = __TIB_java_util_ArrayList.vtable[9];
171     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_contains___java_lang_Object] = __TIB_java_util_ArrayList.vtable[10];
172     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_equals___java_lang_Object] = __TIB_java_util_ArrayList.vtable[1];
173     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_get___int] = __TIB_java_util_ArrayList.vtable[21];
174     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_hashCode__] = __TIB_java_util_ArrayList.vtable[4];
175     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_indexOf___java_lang_Object] = __TIB_java_util_ArrayList.vtable[22];
176     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_isEmpty__] = __TIB_java_util_ArrayList.vtable[11];
177     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_iterator__] = __TIB_java_util_ArrayList.vtable[12];
178     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_lastIndexOf___java_lang_Object] = __TIB_java_util_ArrayList.vtable[23];
179     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_listIterator__] = __TIB_java_util_ArrayList.vtable[24];
180     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_listIterator___int] = __TIB_java_util_ArrayList.vtable[25];
181     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_removeAll___java_util_Collection] = __TIB_java_util_ArrayList.vtable[13];
182     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_remove___int] = __TIB_java_util_ArrayList.vtable[27];
183     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_remove___java_lang_Object] = __TIB_java_util_ArrayList.vtable[14];
184     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_retainAll___java_util_Collection] = __TIB_java_util_ArrayList.vtable[15];
185     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_set___int_java_lang_Object] = __TIB_java_util_ArrayList.vtable[28];
186     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_size__] = __TIB_java_util_ArrayList.vtable[16];
187     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_subList___int_int] = __TIB_java_util_ArrayList.vtable[29];
188     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_toArray__] = __TIB_java_util_ArrayList.vtable[17];
189     __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_toArray___java_lang_Object_1ARRAY] = __TIB_java_util_ArrayList.vtable[18];
190 
191     _STATIC_java_util_ArrayList_serialVersionUID = 8683452581122892189;
192     _STATIC_java_util_ArrayList_serialPersistentFields = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
193 
194     __TIB_java_util_ArrayList.declaredFields = &__field_reflection_data[0];
195     __TIB_java_util_ArrayList.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
196     __TIB_java_util_ArrayList.constructorDispatcherFunc = constructor_dispatcher;
197     __TIB_java_util_ArrayList.declaredConstructors = &__constructor_reflection_data[0];
198     __TIB_java_util_ArrayList.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
199     __TIB_java_util_ArrayList.methodDispatcherFunc = method_dispatcher;
200     __TIB_java_util_ArrayList.declaredMethods = &__method_reflection_data[0];
201     __TIB_java_util_ArrayList.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
202     __CLASS_java_util_ArrayList = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_ArrayList);
203     __TIB_java_util_ArrayList.clazz = __CLASS_java_util_ArrayList;
204     __TIB_java_util_ArrayList.baseType = JAVA_NULL;
205     __CLASS_java_util_ArrayList_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_ArrayList);
206     __CLASS_java_util_ArrayList_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_ArrayList_1ARRAY);
207     __CLASS_java_util_ArrayList_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_ArrayList_2ARRAY);
208     java_util_ArrayList___CLINIT_();
209     //XMLVM_BEGIN_WRAPPER[__INIT_java_util_ArrayList]
210     //XMLVM_END_WRAPPER
211 
212     __TIB_java_util_ArrayList.classInitialized = 1;
213 }
214 
__DELETE_java_util_ArrayList(void * me,void * client_data)215 void __DELETE_java_util_ArrayList(void* me, void* client_data)
216 {
217     //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_ArrayList]
218     //XMLVM_END_WRAPPER
219 }
220 
__INIT_INSTANCE_MEMBERS_java_util_ArrayList(JAVA_OBJECT me,int derivedClassWillRegisterFinalizer)221 void __INIT_INSTANCE_MEMBERS_java_util_ArrayList(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
222 {
223     __INIT_INSTANCE_MEMBERS_java_util_AbstractList(me, 0 || derivedClassWillRegisterFinalizer);
224     ((java_util_ArrayList*) me)->fields.java_util_ArrayList.firstIndex_ = 0;
225     ((java_util_ArrayList*) me)->fields.java_util_ArrayList.size_ = 0;
226     ((java_util_ArrayList*) me)->fields.java_util_ArrayList.array_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
227     //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_ArrayList]
228     //XMLVM_END_WRAPPER
229 }
230 
__NEW_java_util_ArrayList()231 JAVA_OBJECT __NEW_java_util_ArrayList()
232 {    XMLVM_CLASS_INIT(java_util_ArrayList)
233 java_util_ArrayList* me = (java_util_ArrayList*) XMLVM_MALLOC(sizeof(java_util_ArrayList));
234     me->tib = &__TIB_java_util_ArrayList;
235     __INIT_INSTANCE_MEMBERS_java_util_ArrayList(me, 0);
236     //XMLVM_BEGIN_WRAPPER[__NEW_java_util_ArrayList]
237     //XMLVM_END_WRAPPER
238     return me;
239 }
240 
__NEW_INSTANCE_java_util_ArrayList()241 JAVA_OBJECT __NEW_INSTANCE_java_util_ArrayList()
242 {
243     JAVA_OBJECT me = JAVA_NULL;
244     me = __NEW_java_util_ArrayList();
245     java_util_ArrayList___INIT___(me);
246     return me;
247 }
248 
java_util_ArrayList_GET_serialVersionUID()249 JAVA_LONG java_util_ArrayList_GET_serialVersionUID()
250 {
251     XMLVM_CLASS_INIT(java_util_ArrayList)
252     return _STATIC_java_util_ArrayList_serialVersionUID;
253 }
254 
java_util_ArrayList_PUT_serialVersionUID(JAVA_LONG v)255 void java_util_ArrayList_PUT_serialVersionUID(JAVA_LONG v)
256 {
257     XMLVM_CLASS_INIT(java_util_ArrayList)
258 _STATIC_java_util_ArrayList_serialVersionUID = v;
259 }
260 
java_util_ArrayList_GET_serialPersistentFields()261 JAVA_OBJECT java_util_ArrayList_GET_serialPersistentFields()
262 {
263     XMLVM_CLASS_INIT(java_util_ArrayList)
264     return _STATIC_java_util_ArrayList_serialPersistentFields;
265 }
266 
java_util_ArrayList_PUT_serialPersistentFields(JAVA_OBJECT v)267 void java_util_ArrayList_PUT_serialPersistentFields(JAVA_OBJECT v)
268 {
269     XMLVM_CLASS_INIT(java_util_ArrayList)
270 _STATIC_java_util_ArrayList_serialPersistentFields = v;
271 }
272 
java_util_ArrayList___CLINIT_()273 void java_util_ArrayList___CLINIT_()
274 {
275     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList___CLINIT___]
276     XMLVM_ENTER_METHOD("java.util.ArrayList", "<clinit>", "?")
277     XMLVMElem _r0;
278     XMLVMElem _r1;
279     XMLVMElem _r2;
280     XMLVMElem _r3;
281     XMLVMElem _r4;
282     XMLVM_SOURCE_POSITION("ArrayList.java", 690)
283     _r0.i = 1;
284     XMLVM_CLASS_INIT(java_io_ObjectStreamField)
285     _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_io_ObjectStreamField, _r0.i);
286     _r1.i = 0;
287     _r2.o = __NEW_java_io_ObjectStreamField();
288     XMLVM_SOURCE_POSITION("ArrayList.java", 691)
289     // "size"
290     _r3.o = xmlvm_create_java_string_from_pool(161);
291     _r4.o = java_lang_Integer_GET_TYPE();
292     XMLVM_CHECK_NPE(2)
293     java_io_ObjectStreamField___INIT____java_lang_String_java_lang_Class(_r2.o, _r3.o, _r4.o);
294     XMLVM_CHECK_NPE(0)
295     XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
296     ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
297     java_util_ArrayList_PUT_serialPersistentFields( _r0.o);
298     XMLVM_SOURCE_POSITION("ArrayList.java", 36)
299     XMLVM_EXIT_METHOD()
300     return;
301     //XMLVM_END_WRAPPER
302 }
303 
java_util_ArrayList___INIT___(JAVA_OBJECT me)304 void java_util_ArrayList___INIT___(JAVA_OBJECT me)
305 {
306     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList___INIT___]
307     XMLVM_ENTER_METHOD("java.util.ArrayList", "<init>", "?")
308     XMLVMElem _r0;
309     XMLVMElem _r1;
310     _r1.o = me;
311     XMLVM_SOURCE_POSITION("ArrayList.java", 51)
312     _r0.i = 10;
313     XMLVM_CHECK_NPE(1)
314     java_util_ArrayList___INIT____int(_r1.o, _r0.i);
315     XMLVM_SOURCE_POSITION("ArrayList.java", 52)
316     XMLVM_EXIT_METHOD()
317     return;
318     //XMLVM_END_WRAPPER
319 }
320 
java_util_ArrayList___INIT____int(JAVA_OBJECT me,JAVA_INT n1)321 void java_util_ArrayList___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
322 {
323     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList___INIT____int]
324     XMLVM_ENTER_METHOD("java.util.ArrayList", "<init>", "?")
325     XMLVMElem _r0;
326     XMLVMElem _r1;
327     XMLVMElem _r2;
328     _r1.o = me;
329     _r2.i = n1;
330     XMLVM_SOURCE_POSITION("ArrayList.java", 61)
331     XMLVM_CHECK_NPE(1)
332     java_util_AbstractList___INIT___(_r1.o);
333     XMLVM_SOURCE_POSITION("ArrayList.java", 62)
334     if (_r2.i >= 0) goto label11;
335     XMLVM_SOURCE_POSITION("ArrayList.java", 63)
336 
337 
338     // Red class access removed: java.lang.IllegalArgumentException::new-instance
339     XMLVM_RED_CLASS_DEPENDENCY();
340 
341 
342     // Red class access removed: java.lang.IllegalArgumentException::<init>
343     XMLVM_RED_CLASS_DEPENDENCY();
344     XMLVM_THROW_CUSTOM(_r0.o)
345     label11:;
346     XMLVM_SOURCE_POSITION("ArrayList.java", 65)
347     _r0.i = 0;
348     XMLVM_CHECK_NPE(1)
349     ((java_util_ArrayList*) _r1.o)->fields.java_util_ArrayList.size_ = _r0.i;
350     XMLVM_CHECK_NPE(1)
351     ((java_util_ArrayList*) _r1.o)->fields.java_util_ArrayList.firstIndex_ = _r0.i;
352     XMLVM_SOURCE_POSITION("ArrayList.java", 66)
353     XMLVM_CHECK_NPE(1)
354     _r0.o = java_util_ArrayList_newElementArray___int(_r1.o, _r2.i);
355     XMLVM_CHECK_NPE(1)
356     ((java_util_ArrayList*) _r1.o)->fields.java_util_ArrayList.array_ = _r0.o;
357     XMLVM_SOURCE_POSITION("ArrayList.java", 67)
358     XMLVM_EXIT_METHOD()
359     return;
360     //XMLVM_END_WRAPPER
361 }
362 
java_util_ArrayList___INIT____java_util_Collection(JAVA_OBJECT me,JAVA_OBJECT n1)363 void java_util_ArrayList___INIT____java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1)
364 {
365     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList___INIT____java_util_Collection]
366     XMLVM_ENTER_METHOD("java.util.ArrayList", "<init>", "?")
367     XMLVMElem _r0;
368     XMLVMElem _r1;
369     XMLVMElem _r2;
370     XMLVMElem _r3;
371     XMLVMElem _r4;
372     XMLVMElem _r5;
373     _r4.o = me;
374     _r5.o = n1;
375     _r3.i = 0;
376     XMLVM_SOURCE_POSITION("ArrayList.java", 77)
377     XMLVM_CHECK_NPE(4)
378     java_util_AbstractList___INIT___(_r4.o);
379     XMLVM_SOURCE_POSITION("ArrayList.java", 78)
380     XMLVM_CHECK_NPE(4)
381     ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_ = _r3.i;
382     XMLVM_SOURCE_POSITION("ArrayList.java", 79)
383     XMLVM_CHECK_NPE(5)
384     _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_toArray__])(_r5.o);
385     XMLVM_SOURCE_POSITION("ArrayList.java", 80)
386     _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
387     XMLVM_CHECK_NPE(4)
388     ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_ = _r1.i;
389     XMLVM_SOURCE_POSITION("ArrayList.java", 85)
390     XMLVM_CHECK_NPE(4)
391     _r1.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
392     XMLVM_CHECK_NPE(4)
393     _r2.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
394     _r2.i = _r2.i / 10;
395     _r1.i = _r1.i + _r2.i;
396     XMLVM_CHECK_NPE(4)
397     _r1.o = java_util_ArrayList_newElementArray___int(_r4.o, _r1.i);
398     XMLVM_CHECK_NPE(4)
399     ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.array_ = _r1.o;
400     XMLVM_SOURCE_POSITION("ArrayList.java", 86)
401     XMLVM_CHECK_NPE(4)
402     _r1.o = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.array_;
403     XMLVM_CHECK_NPE(4)
404     _r2.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
405     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r3.i, _r1.o, _r3.i, _r2.i);
406     XMLVM_SOURCE_POSITION("ArrayList.java", 87)
407     _r0.i = 1;
408     XMLVM_CHECK_NPE(4)
409     ((java_util_AbstractList*) _r4.o)->fields.java_util_AbstractList.modCount_ = _r0.i;
410     XMLVM_SOURCE_POSITION("ArrayList.java", 88)
411     XMLVM_EXIT_METHOD()
412     return;
413     //XMLVM_END_WRAPPER
414 }
415 
java_util_ArrayList_newElementArray___int(JAVA_OBJECT me,JAVA_INT n1)416 JAVA_OBJECT java_util_ArrayList_newElementArray___int(JAVA_OBJECT me, JAVA_INT n1)
417 {
418     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_newElementArray___int]
419     XMLVM_ENTER_METHOD("java.util.ArrayList", "newElementArray", "?")
420     XMLVMElem _r0;
421     XMLVMElem _r1;
422     XMLVMElem _r2;
423     _r1.o = me;
424     _r2.i = n1;
425     XMLVM_SOURCE_POSITION("ArrayList.java", 92)
426     XMLVM_CLASS_INIT(java_lang_Object)
427     _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r2.i);
428     XMLVM_EXIT_METHOD()
429     return _r0.o;
430     //XMLVM_END_WRAPPER
431 }
432 
java_util_ArrayList_add___int_java_lang_Object(JAVA_OBJECT me,JAVA_INT n1,JAVA_OBJECT n2)433 void java_util_ArrayList_add___int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
434 {
435     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_add___int_java_lang_Object]
436     XMLVM_ENTER_METHOD("java.util.ArrayList", "add", "?")
437     XMLVMElem _r0;
438     XMLVMElem _r1;
439     XMLVMElem _r2;
440     XMLVMElem _r3;
441     XMLVMElem _r4;
442     XMLVMElem _r5;
443     XMLVMElem _r6;
444     XMLVMElem _r7;
445     _r5.o = me;
446     _r6.i = n1;
447     _r7.o = n2;
448     _r4.i = 1;
449     XMLVM_SOURCE_POSITION("ArrayList.java", 110)
450     if (_r6.i < 0) goto label7;
451     XMLVM_CHECK_NPE(5)
452     _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
453     if (_r6.i <= _r0.i) goto label29;
454     label7:;
455     XMLVM_SOURCE_POSITION("ArrayList.java", 111)
456     _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
457     XMLVM_SOURCE_POSITION("ArrayList.java", 113)
458     // "luni.0A"
459     _r1.o = xmlvm_create_java_string_from_pool(162);
460     XMLVM_SOURCE_POSITION("ArrayList.java", 114)
461     _r2.o = java_lang_Integer_valueOf___int(_r6.i);
462     XMLVM_SOURCE_POSITION("ArrayList.java", 115)
463     XMLVM_CHECK_NPE(5)
464     _r3.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
465     _r3.o = java_lang_Integer_valueOf___int(_r3.i);
466     _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_java_lang_Object(_r1.o, _r2.o, _r3.o);
467     XMLVM_CHECK_NPE(0)
468     java_lang_IndexOutOfBoundsException___INIT____java_lang_String(_r0.o, _r1.o);
469     XMLVM_THROW_CUSTOM(_r0.o)
470     label29:;
471     XMLVM_SOURCE_POSITION("ArrayList.java", 117)
472     if (_r6.i != 0) goto label60;
473     XMLVM_SOURCE_POSITION("ArrayList.java", 118)
474     XMLVM_CHECK_NPE(5)
475     _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
476     if (_r0.i != 0) goto label38;
477     XMLVM_SOURCE_POSITION("ArrayList.java", 119)
478     XMLVM_CHECK_NPE(5)
479     java_util_ArrayList_growAtFront___int(_r5.o, _r4.i);
480     label38:;
481     XMLVM_SOURCE_POSITION("ArrayList.java", 121)
482     XMLVM_CHECK_NPE(5)
483     _r0.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
484     XMLVM_CHECK_NPE(5)
485     _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
486     _r1.i = _r1.i - _r4.i;
487     XMLVM_CHECK_NPE(5)
488     ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_ = _r1.i;
489     XMLVM_CHECK_NPE(0)
490     XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
491     ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.o;
492     label47:;
493     XMLVM_SOURCE_POSITION("ArrayList.java", 142)
494     XMLVM_CHECK_NPE(5)
495     _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
496     _r0.i = _r0.i + 1;
497     XMLVM_CHECK_NPE(5)
498     ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_ = _r0.i;
499     XMLVM_SOURCE_POSITION("ArrayList.java", 143)
500     XMLVM_CHECK_NPE(5)
501     _r0.i = ((java_util_AbstractList*) _r5.o)->fields.java_util_AbstractList.modCount_;
502     _r0.i = _r0.i + 1;
503     XMLVM_CHECK_NPE(5)
504     ((java_util_AbstractList*) _r5.o)->fields.java_util_AbstractList.modCount_ = _r0.i;
505     XMLVM_SOURCE_POSITION("ArrayList.java", 144)
506     XMLVM_EXIT_METHOD()
507     return;
508     label60:;
509     XMLVM_SOURCE_POSITION("ArrayList.java", 122)
510     XMLVM_CHECK_NPE(5)
511     _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
512     if (_r6.i != _r0.i) goto label87;
513     XMLVM_SOURCE_POSITION("ArrayList.java", 123)
514     XMLVM_CHECK_NPE(5)
515     _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
516     XMLVM_CHECK_NPE(5)
517     _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
518     _r0.i = _r0.i + _r1.i;
519     XMLVM_CHECK_NPE(5)
520     _r1.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
521     _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
522     if (_r0.i != _r1.i) goto label77;
523     XMLVM_SOURCE_POSITION("ArrayList.java", 124)
524     XMLVM_CHECK_NPE(5)
525     java_util_ArrayList_growAtEnd___int(_r5.o, _r4.i);
526     label77:;
527     XMLVM_SOURCE_POSITION("ArrayList.java", 126)
528     XMLVM_CHECK_NPE(5)
529     _r0.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
530     XMLVM_CHECK_NPE(5)
531     _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
532     XMLVM_CHECK_NPE(5)
533     _r2.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
534     _r1.i = _r1.i + _r2.i;
535     XMLVM_CHECK_NPE(0)
536     XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
537     ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.o;
538     goto label47;
539     label87:;
540     XMLVM_SOURCE_POSITION("ArrayList.java", 128)
541     XMLVM_CHECK_NPE(5)
542     _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
543     XMLVM_CHECK_NPE(5)
544     _r1.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
545     _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
546     if (_r0.i != _r1.i) goto label105;
547     XMLVM_SOURCE_POSITION("ArrayList.java", 129)
548     XMLVM_CHECK_NPE(5)
549     java_util_ArrayList_growForInsert___int_int(_r5.o, _r6.i, _r4.i);
550     label97:;
551     XMLVM_SOURCE_POSITION("ArrayList.java", 139)
552     XMLVM_CHECK_NPE(5)
553     _r0.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
554     XMLVM_CHECK_NPE(5)
555     _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
556     _r1.i = _r1.i + _r6.i;
557     XMLVM_CHECK_NPE(0)
558     XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
559     ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.o;
560     goto label47;
561     label105:;
562     XMLVM_SOURCE_POSITION("ArrayList.java", 130)
563     XMLVM_CHECK_NPE(5)
564     _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
565     XMLVM_CHECK_NPE(5)
566     _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
567     _r0.i = _r0.i + _r1.i;
568     XMLVM_CHECK_NPE(5)
569     _r1.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
570     _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
571     if (_r0.i == _r1.i) goto label125;
572     XMLVM_SOURCE_POSITION("ArrayList.java", 131)
573     XMLVM_CHECK_NPE(5)
574     _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
575     if (_r0.i <= 0) goto label140;
576     XMLVM_CHECK_NPE(5)
577     _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
578     _r0.i = _r0.i / 2;
579     if (_r6.i >= _r0.i) goto label140;
580     label125:;
581     XMLVM_SOURCE_POSITION("ArrayList.java", 132)
582     XMLVM_CHECK_NPE(5)
583     _r0.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
584     XMLVM_CHECK_NPE(5)
585     _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
586     XMLVM_CHECK_NPE(5)
587     _r2.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
588     XMLVM_CHECK_NPE(5)
589     _r3.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
590     _r3.i = _r3.i - _r4.i;
591     XMLVM_CHECK_NPE(5)
592     ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_ = _r3.i;
593     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r2.o, _r3.i, _r6.i);
594     goto label97;
595     label140:;
596     XMLVM_SOURCE_POSITION("ArrayList.java", 135)
597     XMLVM_CHECK_NPE(5)
598     _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
599     _r0.i = _r0.i + _r6.i;
600     XMLVM_SOURCE_POSITION("ArrayList.java", 136)
601     XMLVM_CHECK_NPE(5)
602     _r1.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
603     XMLVM_CHECK_NPE(5)
604     _r2.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
605     _r3.i = _r0.i + 1;
606     XMLVM_CHECK_NPE(5)
607     _r4.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
608     XMLVM_SOURCE_POSITION("ArrayList.java", 137)
609     _r4.i = _r4.i - _r6.i;
610     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r0.i, _r2.o, _r3.i, _r4.i);
611     goto label97;
612     //XMLVM_END_WRAPPER
613 }
614 
java_util_ArrayList_add___java_lang_Object(JAVA_OBJECT me,JAVA_OBJECT n1)615 JAVA_BOOLEAN java_util_ArrayList_add___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
616 {
617     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_add___java_lang_Object]
618     XMLVM_ENTER_METHOD("java.util.ArrayList", "add", "?")
619     XMLVMElem _r0;
620     XMLVMElem _r1;
621     XMLVMElem _r2;
622     XMLVMElem _r3;
623     XMLVMElem _r4;
624     XMLVMElem _r5;
625     _r4.o = me;
626     _r5.o = n1;
627     _r3.i = 1;
628     XMLVM_SOURCE_POSITION("ArrayList.java", 155)
629     XMLVM_CHECK_NPE(4)
630     _r0.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_;
631     XMLVM_CHECK_NPE(4)
632     _r1.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
633     _r0.i = _r0.i + _r1.i;
634     XMLVM_CHECK_NPE(4)
635     _r1.o = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.array_;
636     _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
637     if (_r0.i != _r1.i) goto label14;
638     XMLVM_SOURCE_POSITION("ArrayList.java", 156)
639     XMLVM_CHECK_NPE(4)
640     java_util_ArrayList_growAtEnd___int(_r4.o, _r3.i);
641     label14:;
642     XMLVM_SOURCE_POSITION("ArrayList.java", 158)
643     XMLVM_CHECK_NPE(4)
644     _r0.o = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.array_;
645     XMLVM_CHECK_NPE(4)
646     _r1.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_;
647     XMLVM_CHECK_NPE(4)
648     _r2.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
649     _r1.i = _r1.i + _r2.i;
650     XMLVM_CHECK_NPE(0)
651     XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
652     ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.o;
653     XMLVM_SOURCE_POSITION("ArrayList.java", 159)
654     XMLVM_CHECK_NPE(4)
655     _r0.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
656     _r0.i = _r0.i + 1;
657     XMLVM_CHECK_NPE(4)
658     ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_ = _r0.i;
659     XMLVM_SOURCE_POSITION("ArrayList.java", 160)
660     XMLVM_CHECK_NPE(4)
661     _r0.i = ((java_util_AbstractList*) _r4.o)->fields.java_util_AbstractList.modCount_;
662     _r0.i = _r0.i + 1;
663     XMLVM_CHECK_NPE(4)
664     ((java_util_AbstractList*) _r4.o)->fields.java_util_AbstractList.modCount_ = _r0.i;
665     XMLVM_SOURCE_POSITION("ArrayList.java", 161)
666     XMLVM_EXIT_METHOD()
667     return _r3.i;
668     //XMLVM_END_WRAPPER
669 }
670 
java_util_ArrayList_addAll___int_java_util_Collection(JAVA_OBJECT me,JAVA_INT n1,JAVA_OBJECT n2)671 JAVA_BOOLEAN java_util_ArrayList_addAll___int_java_util_Collection(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
672 {
673     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_addAll___int_java_util_Collection]
674     XMLVM_ENTER_METHOD("java.util.ArrayList", "addAll", "?")
675     XMLVMElem _r0;
676     XMLVMElem _r1;
677     XMLVMElem _r2;
678     XMLVMElem _r3;
679     XMLVMElem _r4;
680     XMLVMElem _r5;
681     XMLVMElem _r6;
682     XMLVMElem _r7;
683     XMLVMElem _r8;
684     XMLVMElem _r9;
685     XMLVMElem _r10;
686     _r8.o = me;
687     _r9.i = n1;
688     _r10.o = n2;
689     _r7.i = 0;
690     XMLVM_SOURCE_POSITION("ArrayList.java", 180)
691     if (_r9.i < 0) goto label7;
692     XMLVM_CHECK_NPE(8)
693     _r0.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
694     if (_r9.i <= _r0.i) goto label29;
695     label7:;
696     XMLVM_SOURCE_POSITION("ArrayList.java", 181)
697     _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
698     XMLVM_SOURCE_POSITION("ArrayList.java", 183)
699     // "luni.0A"
700     _r1.o = xmlvm_create_java_string_from_pool(162);
701     XMLVM_SOURCE_POSITION("ArrayList.java", 184)
702     _r2.o = java_lang_Integer_valueOf___int(_r9.i);
703     XMLVM_SOURCE_POSITION("ArrayList.java", 185)
704     XMLVM_CHECK_NPE(8)
705     _r3.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
706     _r3.o = java_lang_Integer_valueOf___int(_r3.i);
707     _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_java_lang_Object(_r1.o, _r2.o, _r3.o);
708     XMLVM_CHECK_NPE(0)
709     java_lang_IndexOutOfBoundsException___INIT____java_lang_String(_r0.o, _r1.o);
710     XMLVM_THROW_CUSTOM(_r0.o)
711     label29:;
712     XMLVM_SOURCE_POSITION("ArrayList.java", 188)
713     XMLVM_CHECK_NPE(10)
714     _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r10.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_toArray__])(_r10.o);
715     XMLVM_SOURCE_POSITION("ArrayList.java", 189)
716     _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
717     XMLVM_SOURCE_POSITION("ArrayList.java", 192)
718     if (_r1.i != 0) goto label38;
719     _r0 = _r7;
720     label37:;
721     XMLVM_SOURCE_POSITION("ArrayList.java", 193)
722     XMLVM_SOURCE_POSITION("ArrayList.java", 228)
723     XMLVM_EXIT_METHOD()
724     return _r0.i;
725     label38:;
726     XMLVM_SOURCE_POSITION("ArrayList.java", 196)
727     if (_r9.i != 0) goto label69;
728     XMLVM_SOURCE_POSITION("ArrayList.java", 197)
729     XMLVM_CHECK_NPE(8)
730     java_util_ArrayList_growAtFront___int(_r8.o, _r1.i);
731     XMLVM_SOURCE_POSITION("ArrayList.java", 198)
732     XMLVM_CHECK_NPE(8)
733     _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
734     _r2.i = _r2.i - _r1.i;
735     XMLVM_CHECK_NPE(8)
736     ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_ = _r2.i;
737     label48:;
738     XMLVM_SOURCE_POSITION("ArrayList.java", 224)
739     XMLVM_CHECK_NPE(8)
740     _r2.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
741     XMLVM_CHECK_NPE(8)
742     _r3.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
743     _r3.i = _r3.i + _r9.i;
744     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r7.i, _r2.o, _r3.i, _r1.i);
745     XMLVM_SOURCE_POSITION("ArrayList.java", 226)
746     XMLVM_CHECK_NPE(8)
747     _r0.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
748     _r0.i = _r0.i + _r1.i;
749     XMLVM_CHECK_NPE(8)
750     ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_ = _r0.i;
751     XMLVM_SOURCE_POSITION("ArrayList.java", 227)
752     XMLVM_CHECK_NPE(8)
753     _r0.i = ((java_util_AbstractList*) _r8.o)->fields.java_util_AbstractList.modCount_;
754     _r0.i = _r0.i + 1;
755     XMLVM_CHECK_NPE(8)
756     ((java_util_AbstractList*) _r8.o)->fields.java_util_AbstractList.modCount_ = _r0.i;
757     _r0.i = 1;
758     goto label37;
759     label69:;
760     XMLVM_SOURCE_POSITION("ArrayList.java", 199)
761     XMLVM_CHECK_NPE(8)
762     _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
763     if (_r9.i != _r2.i) goto label88;
764     XMLVM_SOURCE_POSITION("ArrayList.java", 200)
765     XMLVM_CHECK_NPE(8)
766     _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
767     XMLVM_CHECK_NPE(8)
768     _r3.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
769     _r2.i = _r2.i + _r3.i;
770     XMLVM_CHECK_NPE(8)
771     _r3.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
772     _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
773     _r3.i = _r3.i - _r1.i;
774     if (_r2.i <= _r3.i) goto label48;
775     XMLVM_SOURCE_POSITION("ArrayList.java", 201)
776     XMLVM_CHECK_NPE(8)
777     java_util_ArrayList_growAtEnd___int(_r8.o, _r1.i);
778     goto label48;
779     label88:;
780     XMLVM_SOURCE_POSITION("ArrayList.java", 204)
781     XMLVM_CHECK_NPE(8)
782     _r2.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
783     _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
784     XMLVM_CHECK_NPE(8)
785     _r3.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
786     _r2.i = _r2.i - _r3.i;
787     if (_r2.i >= _r1.i) goto label100;
788     XMLVM_SOURCE_POSITION("ArrayList.java", 205)
789     XMLVM_CHECK_NPE(8)
790     java_util_ArrayList_growForInsert___int_int(_r8.o, _r9.i, _r1.i);
791     goto label48;
792     label100:;
793     XMLVM_SOURCE_POSITION("ArrayList.java", 206)
794     XMLVM_CHECK_NPE(8)
795     _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
796     XMLVM_CHECK_NPE(8)
797     _r3.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
798     _r2.i = _r2.i + _r3.i;
799     XMLVM_CHECK_NPE(8)
800     _r3.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
801     _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
802     _r3.i = _r3.i - _r1.i;
803     if (_r2.i > _r3.i) goto label121;
804     XMLVM_SOURCE_POSITION("ArrayList.java", 207)
805     XMLVM_CHECK_NPE(8)
806     _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
807     if (_r2.i <= 0) goto label154;
808     XMLVM_CHECK_NPE(8)
809     _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
810     _r2.i = _r2.i / 2;
811     if (_r9.i >= _r2.i) goto label154;
812     label121:;
813     XMLVM_SOURCE_POSITION("ArrayList.java", 208)
814     XMLVM_CHECK_NPE(8)
815     _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
816     _r2.i = _r2.i - _r1.i;
817     if (_r2.i >= 0) goto label142;
818     XMLVM_SOURCE_POSITION("ArrayList.java", 209)
819     XMLVM_SOURCE_POSITION("ArrayList.java", 210)
820     XMLVM_CHECK_NPE(8)
821     _r3.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
822     _r3.i = _r3.i + _r9.i;
823     XMLVM_SOURCE_POSITION("ArrayList.java", 211)
824     XMLVM_CHECK_NPE(8)
825     _r4.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
826     XMLVM_CHECK_NPE(8)
827     _r5.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
828     _r2.i = _r3.i - _r2.i;
829     XMLVM_SOURCE_POSITION("ArrayList.java", 212)
830     XMLVM_CHECK_NPE(8)
831     _r6.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
832     _r6.i = _r6.i - _r9.i;
833     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r4.o, _r3.i, _r5.o, _r2.i, _r6.i);
834     _r2 = _r7;
835     label142:;
836     XMLVM_SOURCE_POSITION("ArrayList.java", 213)
837     XMLVM_SOURCE_POSITION("ArrayList.java", 215)
838     XMLVM_CHECK_NPE(8)
839     _r3.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
840     XMLVM_CHECK_NPE(8)
841     _r4.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
842     XMLVM_CHECK_NPE(8)
843     _r5.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
844     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r3.o, _r4.i, _r5.o, _r2.i, _r9.i);
845     XMLVM_SOURCE_POSITION("ArrayList.java", 216)
846     XMLVM_CHECK_NPE(8)
847     ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_ = _r2.i;
848     goto label48;
849     label154:;
850     XMLVM_SOURCE_POSITION("ArrayList.java", 218)
851     XMLVM_CHECK_NPE(8)
852     _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
853     _r2.i = _r2.i + _r9.i;
854     XMLVM_SOURCE_POSITION("ArrayList.java", 219)
855     XMLVM_CHECK_NPE(8)
856     _r3.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
857     XMLVM_CHECK_NPE(8)
858     _r4.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
859     _r5.i = _r2.i + _r1.i;
860     XMLVM_CHECK_NPE(8)
861     _r6.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
862     XMLVM_SOURCE_POSITION("ArrayList.java", 220)
863     _r6.i = _r6.i - _r9.i;
864     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r3.o, _r2.i, _r4.o, _r5.i, _r6.i);
865     goto label48;
866     //XMLVM_END_WRAPPER
867 }
868 
java_util_ArrayList_addAll___java_util_Collection(JAVA_OBJECT me,JAVA_OBJECT n1)869 JAVA_BOOLEAN java_util_ArrayList_addAll___java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1)
870 {
871     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_addAll___java_util_Collection]
872     XMLVM_ENTER_METHOD("java.util.ArrayList", "addAll", "?")
873     XMLVMElem _r0;
874     XMLVMElem _r1;
875     XMLVMElem _r2;
876     XMLVMElem _r3;
877     XMLVMElem _r4;
878     XMLVMElem _r5;
879     XMLVMElem _r6;
880     XMLVMElem _r7;
881     _r6.o = me;
882     _r7.o = n1;
883     _r5.i = 0;
884     XMLVM_SOURCE_POSITION("ArrayList.java", 241)
885     XMLVM_CHECK_NPE(7)
886     _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r7.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_toArray__])(_r7.o);
887     XMLVM_SOURCE_POSITION("ArrayList.java", 242)
888     _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
889     if (_r1.i != 0) goto label10;
890     _r0 = _r5;
891     label9:;
892     XMLVM_SOURCE_POSITION("ArrayList.java", 243)
893     XMLVM_SOURCE_POSITION("ArrayList.java", 252)
894     XMLVM_EXIT_METHOD()
895     return _r0.i;
896     label10:;
897     XMLVM_SOURCE_POSITION("ArrayList.java", 245)
898     _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
899     XMLVM_CHECK_NPE(6)
900     _r2.o = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.array_;
901     _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
902     XMLVM_CHECK_NPE(6)
903     _r3.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
904     XMLVM_CHECK_NPE(6)
905     _r4.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
906     _r3.i = _r3.i + _r4.i;
907     _r2.i = _r2.i - _r3.i;
908     if (_r1.i <= _r2.i) goto label26;
909     XMLVM_SOURCE_POSITION("ArrayList.java", 246)
910     _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
911     XMLVM_CHECK_NPE(6)
912     java_util_ArrayList_growAtEnd___int(_r6.o, _r1.i);
913     label26:;
914     XMLVM_SOURCE_POSITION("ArrayList.java", 248)
915     XMLVM_CHECK_NPE(6)
916     _r1.o = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.array_;
917     XMLVM_CHECK_NPE(6)
918     _r2.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
919     XMLVM_CHECK_NPE(6)
920     _r3.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
921     _r2.i = _r2.i + _r3.i;
922     XMLVM_SOURCE_POSITION("ArrayList.java", 249)
923     _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
924     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r5.i, _r1.o, _r2.i, _r3.i);
925     XMLVM_SOURCE_POSITION("ArrayList.java", 250)
926     XMLVM_CHECK_NPE(6)
927     _r1.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
928     _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
929     _r0.i = _r0.i + _r1.i;
930     XMLVM_CHECK_NPE(6)
931     ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_ = _r0.i;
932     XMLVM_SOURCE_POSITION("ArrayList.java", 251)
933     XMLVM_CHECK_NPE(6)
934     _r0.i = ((java_util_AbstractList*) _r6.o)->fields.java_util_AbstractList.modCount_;
935     _r0.i = _r0.i + 1;
936     XMLVM_CHECK_NPE(6)
937     ((java_util_AbstractList*) _r6.o)->fields.java_util_AbstractList.modCount_ = _r0.i;
938     _r0.i = 1;
939     goto label9;
940     //XMLVM_END_WRAPPER
941 }
942 
java_util_ArrayList_clear__(JAVA_OBJECT me)943 void java_util_ArrayList_clear__(JAVA_OBJECT me)
944 {
945     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_clear__]
946     XMLVM_ENTER_METHOD("java.util.ArrayList", "clear", "?")
947     XMLVMElem _r0;
948     XMLVMElem _r1;
949     XMLVMElem _r2;
950     XMLVMElem _r3;
951     XMLVMElem _r4;
952     _r4.o = me;
953     XMLVM_SOURCE_POSITION("ArrayList.java", 263)
954     XMLVM_CHECK_NPE(4)
955     _r0.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
956     if (_r0.i == 0) goto label28;
957     XMLVM_SOURCE_POSITION("ArrayList.java", 267)
958     XMLVM_CHECK_NPE(4)
959     _r0.o = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.array_;
960     XMLVM_CHECK_NPE(4)
961     _r1.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_;
962     XMLVM_CHECK_NPE(4)
963     _r2.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_;
964     XMLVM_CHECK_NPE(4)
965     _r3.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
966     _r2.i = _r2.i + _r3.i;
967     _r3.o = JAVA_NULL;
968 
969 
970     // Red class access removed: java.util.Arrays::fill
971     XMLVM_RED_CLASS_DEPENDENCY();
972     XMLVM_SOURCE_POSITION("ArrayList.java", 270)
973     _r0.i = 0;
974     XMLVM_CHECK_NPE(4)
975     ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_ = _r0.i;
976     XMLVM_CHECK_NPE(4)
977     ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_ = _r0.i;
978     XMLVM_SOURCE_POSITION("ArrayList.java", 271)
979     XMLVM_CHECK_NPE(4)
980     _r0.i = ((java_util_AbstractList*) _r4.o)->fields.java_util_AbstractList.modCount_;
981     _r0.i = _r0.i + 1;
982     XMLVM_CHECK_NPE(4)
983     ((java_util_AbstractList*) _r4.o)->fields.java_util_AbstractList.modCount_ = _r0.i;
984     label28:;
985     XMLVM_SOURCE_POSITION("ArrayList.java", 273)
986     XMLVM_EXIT_METHOD()
987     return;
988     //XMLVM_END_WRAPPER
989 }
990 
java_util_ArrayList_clone__(JAVA_OBJECT me)991 JAVA_OBJECT java_util_ArrayList_clone__(JAVA_OBJECT me)
992 {
993     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_clone__]
994     XMLVM_ENTER_METHOD("java.util.ArrayList", "clone", "?")
995     volatile XMLVMElem _r0;
996     volatile XMLVMElem _r1;
997     volatile XMLVMElem _r2;
998     _r2.o = me;
999     XMLVM_TRY_BEGIN(w2588aaac15b1b2)
1000     // Begin try
1001     XMLVM_SOURCE_POSITION("ArrayList.java", 286)
1002     XMLVM_CHECK_NPE(2)
1003     _r0.o = java_lang_Object_clone__(_r2.o);
1004     _r0.o = _r0.o;
1005     XMLVM_SOURCE_POSITION("ArrayList.java", 287)
1006     XMLVM_CHECK_NPE(2)
1007     _r1.o = ((java_util_ArrayList*) _r2.o)->fields.java_util_ArrayList.array_;
1008     //java_lang_Object_1ARRAY_clone__[0]
1009     XMLVM_CHECK_NPE(1)
1010     _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((org_xmlvm_runtime_XMLVMArray*) _r1.o)->tib->vtable[0])(_r1.o);
1011     _r2.o = _r2.o;
1012     XMLVM_CHECK_NPE(0)
1013     ((java_util_ArrayList*) _r0.o)->fields.java_util_ArrayList.array_ = _r2.o;
1014     // End try
1015     XMLVM_TRY_END
1016     XMLVM_CATCH_BEGIN(w2588aaac15b1b2)
1017     XMLVM_CATCH_END(w2588aaac15b1b2)
1018     XMLVM_RESTORE_EXCEPTION_ENV(w2588aaac15b1b2)
1019     label16:;
1020     XMLVM_SOURCE_POSITION("ArrayList.java", 290)
1021     XMLVM_EXIT_METHOD()
1022     return _r0.o;
1023     label17:;
1024     java_lang_Thread* curThread_w2588aaac15b1b7 = (java_lang_Thread*)java_lang_Thread_currentThread__();
1025     _r0.o = curThread_w2588aaac15b1b7->fields.java_lang_Thread.xmlvmException_;
1026     _r0.o = JAVA_NULL;
1027     goto label16;
1028     //XMLVM_END_WRAPPER
1029 }
1030 
java_util_ArrayList_contains___java_lang_Object(JAVA_OBJECT me,JAVA_OBJECT n1)1031 JAVA_BOOLEAN java_util_ArrayList_contains___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
1032 {
1033     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_contains___java_lang_Object]
1034     XMLVM_ENTER_METHOD("java.util.ArrayList", "contains", "?")
1035     XMLVMElem _r0;
1036     XMLVMElem _r1;
1037     XMLVMElem _r2;
1038     XMLVMElem _r3;
1039     XMLVMElem _r4;
1040     XMLVMElem _r5;
1041     _r4.o = me;
1042     _r5.o = n1;
1043     _r3.i = 1;
1044     XMLVM_SOURCE_POSITION("ArrayList.java", 304)
1045     XMLVM_CHECK_NPE(4)
1046     _r0.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_;
1047     XMLVM_CHECK_NPE(4)
1048     _r1.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
1049     _r0.i = _r0.i + _r1.i;
1050     if (_r5.o == JAVA_NULL) goto label29;
1051     XMLVM_SOURCE_POSITION("ArrayList.java", 305)
1052     XMLVM_SOURCE_POSITION("ArrayList.java", 306)
1053     XMLVM_CHECK_NPE(4)
1054     _r1.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_;
1055     label10:;
1056     if (_r1.i < _r0.i) goto label14;
1057     label12:;
1058     XMLVM_SOURCE_POSITION("ArrayList.java", 318)
1059     _r0.i = 0;
1060     label13:;
1061     XMLVM_EXIT_METHOD()
1062     return _r0.i;
1063     label14:;
1064     XMLVM_SOURCE_POSITION("ArrayList.java", 307)
1065     XMLVM_CHECK_NPE(4)
1066     _r2.o = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.array_;
1067     XMLVM_CHECK_NPE(2)
1068     XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
1069     _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
1070     //java_lang_Object_equals___java_lang_Object[1]
1071     XMLVM_CHECK_NPE(5)
1072     _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r5.o)->tib->vtable[1])(_r5.o, _r2.o);
1073     if (_r2.i == 0) goto label26;
1074     _r0 = _r3;
1075     XMLVM_SOURCE_POSITION("ArrayList.java", 308)
1076     goto label13;
1077     label26:;
1078     _r1.i = _r1.i + 1;
1079     goto label10;
1080     label29:;
1081     XMLVM_SOURCE_POSITION("ArrayList.java", 312)
1082     XMLVM_CHECK_NPE(4)
1083     _r1.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_;
1084     label31:;
1085     if (_r1.i >= _r0.i) goto label12;
1086     XMLVM_SOURCE_POSITION("ArrayList.java", 313)
1087     XMLVM_CHECK_NPE(4)
1088     _r2.o = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.array_;
1089     XMLVM_CHECK_NPE(2)
1090     XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
1091     _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
1092     if (_r2.o != JAVA_NULL) goto label41;
1093     _r0 = _r3;
1094     XMLVM_SOURCE_POSITION("ArrayList.java", 314)
1095     goto label13;
1096     label41:;
1097     _r1.i = _r1.i + 1;
1098     goto label31;
1099     //XMLVM_END_WRAPPER
1100 }
1101 
java_util_ArrayList_ensureCapacity___int(JAVA_OBJECT me,JAVA_INT n1)1102 void java_util_ArrayList_ensureCapacity___int(JAVA_OBJECT me, JAVA_INT n1)
1103 {
1104     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_ensureCapacity___int]
1105     XMLVM_ENTER_METHOD("java.util.ArrayList", "ensureCapacity", "?")
1106     XMLVMElem _r0;
1107     XMLVMElem _r1;
1108     XMLVMElem _r2;
1109     XMLVMElem _r3;
1110     _r2.o = me;
1111     _r3.i = n1;
1112     XMLVM_SOURCE_POSITION("ArrayList.java", 329)
1113     XMLVM_CHECK_NPE(2)
1114     _r0.o = ((java_util_ArrayList*) _r2.o)->fields.java_util_ArrayList.array_;
1115     _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
1116     _r0.i = _r3.i - _r0.i;
1117     if (_r0.i <= 0) goto label14;
1118     XMLVM_SOURCE_POSITION("ArrayList.java", 330)
1119     XMLVM_SOURCE_POSITION("ArrayList.java", 333)
1120     XMLVM_CHECK_NPE(2)
1121     _r1.i = ((java_util_ArrayList*) _r2.o)->fields.java_util_ArrayList.firstIndex_;
1122     if (_r1.i <= 0) goto label15;
1123     XMLVM_SOURCE_POSITION("ArrayList.java", 334)
1124     XMLVM_CHECK_NPE(2)
1125     java_util_ArrayList_growAtFront___int(_r2.o, _r0.i);
1126     label14:;
1127     XMLVM_SOURCE_POSITION("ArrayList.java", 339)
1128     XMLVM_EXIT_METHOD()
1129     return;
1130     label15:;
1131     XMLVM_SOURCE_POSITION("ArrayList.java", 336)
1132     XMLVM_CHECK_NPE(2)
1133     java_util_ArrayList_growAtEnd___int(_r2.o, _r0.i);
1134     goto label14;
1135     //XMLVM_END_WRAPPER
1136 }
1137 
java_util_ArrayList_get___int(JAVA_OBJECT me,JAVA_INT n1)1138 JAVA_OBJECT java_util_ArrayList_get___int(JAVA_OBJECT me, JAVA_INT n1)
1139 {
1140     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_get___int]
1141     XMLVM_ENTER_METHOD("java.util.ArrayList", "get", "?")
1142     XMLVMElem _r0;
1143     XMLVMElem _r1;
1144     XMLVMElem _r2;
1145     XMLVMElem _r3;
1146     XMLVMElem _r4;
1147     XMLVMElem _r5;
1148     _r4.o = me;
1149     _r5.i = n1;
1150     XMLVM_SOURCE_POSITION("ArrayList.java", 343)
1151     if (_r5.i < 0) goto label6;
1152     XMLVM_CHECK_NPE(4)
1153     _r0.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
1154     if (_r5.i < _r0.i) goto label28;
1155     label6:;
1156     XMLVM_SOURCE_POSITION("ArrayList.java", 344)
1157     _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
1158     XMLVM_SOURCE_POSITION("ArrayList.java", 346)
1159     // "luni.0A"
1160     _r1.o = xmlvm_create_java_string_from_pool(162);
1161     XMLVM_SOURCE_POSITION("ArrayList.java", 347)
1162     _r2.o = java_lang_Integer_valueOf___int(_r5.i);
1163     XMLVM_SOURCE_POSITION("ArrayList.java", 348)
1164     XMLVM_CHECK_NPE(4)
1165     _r3.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
1166     _r3.o = java_lang_Integer_valueOf___int(_r3.i);
1167     _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_java_lang_Object(_r1.o, _r2.o, _r3.o);
1168     XMLVM_CHECK_NPE(0)
1169     java_lang_IndexOutOfBoundsException___INIT____java_lang_String(_r0.o, _r1.o);
1170     XMLVM_THROW_CUSTOM(_r0.o)
1171     label28:;
1172     XMLVM_SOURCE_POSITION("ArrayList.java", 350)
1173     XMLVM_CHECK_NPE(4)
1174     _r0.o = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.array_;
1175     XMLVM_CHECK_NPE(4)
1176     _r1.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_;
1177     _r1.i = _r1.i + _r5.i;
1178     XMLVM_CHECK_NPE(0)
1179     XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
1180     _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
1181     XMLVM_EXIT_METHOD()
1182     return _r0.o;
1183     //XMLVM_END_WRAPPER
1184 }
1185 
java_util_ArrayList_growAtEnd___int(JAVA_OBJECT me,JAVA_INT n1)1186 void java_util_ArrayList_growAtEnd___int(JAVA_OBJECT me, JAVA_INT n1)
1187 {
1188     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_growAtEnd___int]
1189     XMLVM_ENTER_METHOD("java.util.ArrayList", "growAtEnd", "?")
1190     XMLVMElem _r0;
1191     XMLVMElem _r1;
1192     XMLVMElem _r2;
1193     XMLVMElem _r3;
1194     XMLVMElem _r4;
1195     XMLVMElem _r5;
1196     XMLVMElem _r6;
1197     _r5.o = me;
1198     _r6.i = n1;
1199     _r2.i = 12;
1200     _r4.i = 0;
1201     XMLVM_SOURCE_POSITION("ArrayList.java", 354)
1202     XMLVM_CHECK_NPE(5)
1203     _r0.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
1204     _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
1205     XMLVM_CHECK_NPE(5)
1206     _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
1207     _r0.i = _r0.i - _r1.i;
1208     if (_r0.i < _r6.i) goto label49;
1209     XMLVM_SOURCE_POSITION("ArrayList.java", 357)
1210     XMLVM_CHECK_NPE(5)
1211     _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
1212     if (_r0.i == 0) goto label43;
1213     XMLVM_SOURCE_POSITION("ArrayList.java", 358)
1214     XMLVM_CHECK_NPE(5)
1215     _r0.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
1216     XMLVM_CHECK_NPE(5)
1217     _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
1218     XMLVM_CHECK_NPE(5)
1219     _r2.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
1220     XMLVM_CHECK_NPE(5)
1221     _r3.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
1222     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r2.o, _r4.i, _r3.i);
1223     XMLVM_SOURCE_POSITION("ArrayList.java", 359)
1224     XMLVM_CHECK_NPE(5)
1225     _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
1226     XMLVM_CHECK_NPE(5)
1227     _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
1228     if (_r0.i >= _r1.i) goto label46;
1229     XMLVM_CHECK_NPE(5)
1230     _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
1231     label34:;
1232     XMLVM_SOURCE_POSITION("ArrayList.java", 362)
1233     XMLVM_CHECK_NPE(5)
1234     _r1.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
1235     XMLVM_CHECK_NPE(5)
1236     _r2.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
1237     _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
1238     _r3.o = JAVA_NULL;
1239 
1240 
1241     // Red class access removed: java.util.Arrays::fill
1242     XMLVM_RED_CLASS_DEPENDENCY();
1243     label43:;
1244     XMLVM_SOURCE_POSITION("ArrayList.java", 364)
1245     XMLVM_CHECK_NPE(5)
1246     ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_ = _r4.i;
1247     label45:;
1248     XMLVM_SOURCE_POSITION("ArrayList.java", 382)
1249     XMLVM_EXIT_METHOD()
1250     return;
1251     label46:;
1252     XMLVM_CHECK_NPE(5)
1253     _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
1254     goto label34;
1255     label49:;
1256     XMLVM_SOURCE_POSITION("ArrayList.java", 368)
1257     XMLVM_CHECK_NPE(5)
1258     _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
1259     _r0.i = _r0.i / 2;
1260     XMLVM_SOURCE_POSITION("ArrayList.java", 369)
1261     if (_r6.i <= _r0.i) goto label56;
1262     _r0 = _r6;
1263     label56:;
1264     XMLVM_SOURCE_POSITION("ArrayList.java", 370)
1265     XMLVM_SOURCE_POSITION("ArrayList.java", 372)
1266     if (_r0.i >= _r2.i) goto label59;
1267     _r0 = _r2;
1268     label59:;
1269     XMLVM_SOURCE_POSITION("ArrayList.java", 373)
1270     XMLVM_SOURCE_POSITION("ArrayList.java", 375)
1271     XMLVM_CHECK_NPE(5)
1272     _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
1273     _r0.i = _r0.i + _r1.i;
1274     XMLVM_CHECK_NPE(5)
1275     _r0.o = java_util_ArrayList_newElementArray___int(_r5.o, _r0.i);
1276     XMLVM_SOURCE_POSITION("ArrayList.java", 376)
1277     XMLVM_CHECK_NPE(5)
1278     _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
1279     if (_r1.i == 0) goto label81;
1280     XMLVM_SOURCE_POSITION("ArrayList.java", 377)
1281     XMLVM_CHECK_NPE(5)
1282     _r1.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
1283     XMLVM_CHECK_NPE(5)
1284     _r2.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
1285     XMLVM_CHECK_NPE(5)
1286     _r3.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
1287     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r2.i, _r0.o, _r4.i, _r3.i);
1288     XMLVM_SOURCE_POSITION("ArrayList.java", 378)
1289     XMLVM_CHECK_NPE(5)
1290     ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_ = _r4.i;
1291     label81:;
1292     XMLVM_SOURCE_POSITION("ArrayList.java", 380)
1293     XMLVM_CHECK_NPE(5)
1294     ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_ = _r0.o;
1295     goto label45;
1296     //XMLVM_END_WRAPPER
1297 }
1298 
java_util_ArrayList_growAtFront___int(JAVA_OBJECT me,JAVA_INT n1)1299 void java_util_ArrayList_growAtFront___int(JAVA_OBJECT me, JAVA_INT n1)
1300 {
1301     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_growAtFront___int]
1302     XMLVM_ENTER_METHOD("java.util.ArrayList", "growAtFront", "?")
1303     XMLVMElem _r0;
1304     XMLVMElem _r1;
1305     XMLVMElem _r2;
1306     XMLVMElem _r3;
1307     XMLVMElem _r4;
1308     XMLVMElem _r5;
1309     XMLVMElem _r6;
1310     _r5.o = me;
1311     _r6.i = n1;
1312     _r2.i = 12;
1313     XMLVM_SOURCE_POSITION("ArrayList.java", 385)
1314     XMLVM_CHECK_NPE(5)
1315     _r0.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
1316     _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
1317     XMLVM_CHECK_NPE(5)
1318     _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
1319     _r0.i = _r0.i - _r1.i;
1320     if (_r0.i < _r6.i) goto label50;
1321     XMLVM_SOURCE_POSITION("ArrayList.java", 386)
1322     XMLVM_CHECK_NPE(5)
1323     _r0.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
1324     _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
1325     XMLVM_CHECK_NPE(5)
1326     _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
1327     _r0.i = _r0.i - _r1.i;
1328     XMLVM_SOURCE_POSITION("ArrayList.java", 389)
1329     XMLVM_CHECK_NPE(5)
1330     _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
1331     if (_r1.i == 0) goto label47;
1332     XMLVM_SOURCE_POSITION("ArrayList.java", 390)
1333     XMLVM_CHECK_NPE(5)
1334     _r1.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
1335     XMLVM_CHECK_NPE(5)
1336     _r2.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
1337     XMLVM_CHECK_NPE(5)
1338     _r3.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
1339     XMLVM_CHECK_NPE(5)
1340     _r4.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
1341     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r2.i, _r3.o, _r0.i, _r4.i);
1342     XMLVM_SOURCE_POSITION("ArrayList.java", 391)
1343     XMLVM_CHECK_NPE(5)
1344     _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
1345     XMLVM_CHECK_NPE(5)
1346     _r2.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
1347     _r1.i = _r1.i + _r2.i;
1348     if (_r1.i <= _r0.i) goto label39;
1349     XMLVM_SOURCE_POSITION("ArrayList.java", 392)
1350     _r1 = _r0;
1351     label39:;
1352     XMLVM_SOURCE_POSITION("ArrayList.java", 393)
1353     XMLVM_CHECK_NPE(5)
1354     _r2.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
1355     XMLVM_CHECK_NPE(5)
1356     _r3.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
1357     _r4.o = JAVA_NULL;
1358 
1359 
1360     // Red class access removed: java.util.Arrays::fill
1361     XMLVM_RED_CLASS_DEPENDENCY();
1362     label47:;
1363     XMLVM_SOURCE_POSITION("ArrayList.java", 395)
1364     XMLVM_CHECK_NPE(5)
1365     ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_ = _r0.i;
1366     label49:;
1367     XMLVM_SOURCE_POSITION("ArrayList.java", 411)
1368     XMLVM_EXIT_METHOD()
1369     return;
1370     label50:;
1371     XMLVM_SOURCE_POSITION("ArrayList.java", 397)
1372     XMLVM_CHECK_NPE(5)
1373     _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
1374     _r0.i = _r0.i / 2;
1375     XMLVM_SOURCE_POSITION("ArrayList.java", 398)
1376     if (_r6.i <= _r0.i) goto label57;
1377     _r0 = _r6;
1378     label57:;
1379     XMLVM_SOURCE_POSITION("ArrayList.java", 399)
1380     XMLVM_SOURCE_POSITION("ArrayList.java", 401)
1381     if (_r0.i >= _r2.i) goto label60;
1382     _r0 = _r2;
1383     label60:;
1384     XMLVM_SOURCE_POSITION("ArrayList.java", 402)
1385     XMLVM_SOURCE_POSITION("ArrayList.java", 404)
1386     XMLVM_CHECK_NPE(5)
1387     _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
1388     _r1.i = _r1.i + _r0.i;
1389     XMLVM_CHECK_NPE(5)
1390     _r1.o = java_util_ArrayList_newElementArray___int(_r5.o, _r1.i);
1391     XMLVM_SOURCE_POSITION("ArrayList.java", 405)
1392     XMLVM_CHECK_NPE(5)
1393     _r2.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
1394     if (_r2.i == 0) goto label80;
1395     XMLVM_SOURCE_POSITION("ArrayList.java", 406)
1396     XMLVM_CHECK_NPE(5)
1397     _r2.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
1398     XMLVM_CHECK_NPE(5)
1399     _r3.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
1400     XMLVM_CHECK_NPE(5)
1401     _r4.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
1402     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r2.o, _r3.i, _r1.o, _r0.i, _r4.i);
1403     label80:;
1404     XMLVM_SOURCE_POSITION("ArrayList.java", 408)
1405     _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
1406     XMLVM_CHECK_NPE(5)
1407     _r2.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
1408     _r0.i = _r0.i - _r2.i;
1409     XMLVM_CHECK_NPE(5)
1410     ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_ = _r0.i;
1411     XMLVM_SOURCE_POSITION("ArrayList.java", 409)
1412     XMLVM_CHECK_NPE(5)
1413     ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_ = _r1.o;
1414     goto label49;
1415     //XMLVM_END_WRAPPER
1416 }
1417 
java_util_ArrayList_growForInsert___int_int(JAVA_OBJECT me,JAVA_INT n1,JAVA_INT n2)1418 void java_util_ArrayList_growForInsert___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
1419 {
1420     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_growForInsert___int_int]
1421     XMLVM_ENTER_METHOD("java.util.ArrayList", "growForInsert", "?")
1422     XMLVMElem _r0;
1423     XMLVMElem _r1;
1424     XMLVMElem _r2;
1425     XMLVMElem _r3;
1426     XMLVMElem _r4;
1427     XMLVMElem _r5;
1428     XMLVMElem _r6;
1429     XMLVMElem _r7;
1430     XMLVMElem _r8;
1431     _r6.o = me;
1432     _r7.i = n1;
1433     _r8.i = n2;
1434     _r1.i = 12;
1435     XMLVM_SOURCE_POSITION("ArrayList.java", 417)
1436     XMLVM_CHECK_NPE(6)
1437     _r0.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
1438     _r0.i = _r0.i / 2;
1439     XMLVM_SOURCE_POSITION("ArrayList.java", 418)
1440     if (_r8.i <= _r0.i) goto label9;
1441     _r0 = _r8;
1442     label9:;
1443     XMLVM_SOURCE_POSITION("ArrayList.java", 419)
1444     XMLVM_SOURCE_POSITION("ArrayList.java", 421)
1445     if (_r0.i >= _r1.i) goto label12;
1446     _r0 = _r1;
1447     label12:;
1448     XMLVM_SOURCE_POSITION("ArrayList.java", 422)
1449     XMLVM_SOURCE_POSITION("ArrayList.java", 424)
1450     XMLVM_CHECK_NPE(6)
1451     _r1.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
1452     _r1.i = _r1.i + _r0.i;
1453     XMLVM_CHECK_NPE(6)
1454     _r1.o = java_util_ArrayList_newElementArray___int(_r6.o, _r1.i);
1455     XMLVM_SOURCE_POSITION("ArrayList.java", 427)
1456     _r0.i = _r0.i - _r8.i;
1457     XMLVM_SOURCE_POSITION("ArrayList.java", 430)
1458     XMLVM_CHECK_NPE(6)
1459     _r2.o = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.array_;
1460     XMLVM_CHECK_NPE(6)
1461     _r3.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
1462     _r3.i = _r3.i + _r7.i;
1463     _r4.i = _r0.i + _r7.i;
1464     _r4.i = _r4.i + _r8.i;
1465     XMLVM_SOURCE_POSITION("ArrayList.java", 431)
1466     XMLVM_CHECK_NPE(6)
1467     _r5.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
1468     _r5.i = _r5.i - _r7.i;
1469     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r2.o, _r3.i, _r1.o, _r4.i, _r5.i);
1470     XMLVM_SOURCE_POSITION("ArrayList.java", 433)
1471     XMLVM_CHECK_NPE(6)
1472     _r2.o = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.array_;
1473     XMLVM_CHECK_NPE(6)
1474     _r3.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
1475     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r2.o, _r3.i, _r1.o, _r0.i, _r7.i);
1476     XMLVM_SOURCE_POSITION("ArrayList.java", 434)
1477     XMLVM_CHECK_NPE(6)
1478     ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_ = _r0.i;
1479     XMLVM_SOURCE_POSITION("ArrayList.java", 435)
1480     XMLVM_CHECK_NPE(6)
1481     ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.array_ = _r1.o;
1482     XMLVM_SOURCE_POSITION("ArrayList.java", 436)
1483     XMLVM_EXIT_METHOD()
1484     return;
1485     //XMLVM_END_WRAPPER
1486 }
1487 
java_util_ArrayList_indexOf___java_lang_Object(JAVA_OBJECT me,JAVA_OBJECT n1)1488 JAVA_INT java_util_ArrayList_indexOf___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
1489 {
1490     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_indexOf___java_lang_Object]
1491     XMLVM_ENTER_METHOD("java.util.ArrayList", "indexOf", "?")
1492     XMLVMElem _r0;
1493     XMLVMElem _r1;
1494     XMLVMElem _r2;
1495     XMLVMElem _r3;
1496     XMLVMElem _r4;
1497     _r3.o = me;
1498     _r4.o = n1;
1499     XMLVM_SOURCE_POSITION("ArrayList.java", 441)
1500     XMLVM_CHECK_NPE(3)
1501     _r0.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.firstIndex_;
1502     XMLVM_CHECK_NPE(3)
1503     _r1.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.size_;
1504     _r0.i = _r0.i + _r1.i;
1505     if (_r4.o == JAVA_NULL) goto label31;
1506     XMLVM_SOURCE_POSITION("ArrayList.java", 442)
1507     XMLVM_SOURCE_POSITION("ArrayList.java", 443)
1508     XMLVM_CHECK_NPE(3)
1509     _r1.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.firstIndex_;
1510     label9:;
1511     if (_r1.i < _r0.i) goto label13;
1512     label11:;
1513     XMLVM_SOURCE_POSITION("ArrayList.java", 455)
1514     _r0.i = -1;
1515     label12:;
1516     XMLVM_EXIT_METHOD()
1517     return _r0.i;
1518     label13:;
1519     XMLVM_SOURCE_POSITION("ArrayList.java", 444)
1520     XMLVM_CHECK_NPE(3)
1521     _r2.o = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.array_;
1522     XMLVM_CHECK_NPE(2)
1523     XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
1524     _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
1525     //java_lang_Object_equals___java_lang_Object[1]
1526     XMLVM_CHECK_NPE(4)
1527     _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[1])(_r4.o, _r2.o);
1528     if (_r2.i == 0) goto label28;
1529     XMLVM_SOURCE_POSITION("ArrayList.java", 445)
1530     XMLVM_CHECK_NPE(3)
1531     _r0.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.firstIndex_;
1532     _r0.i = _r1.i - _r0.i;
1533     goto label12;
1534     label28:;
1535     _r1.i = _r1.i + 1;
1536     goto label9;
1537     label31:;
1538     XMLVM_SOURCE_POSITION("ArrayList.java", 449)
1539     XMLVM_CHECK_NPE(3)
1540     _r1.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.firstIndex_;
1541     label33:;
1542     if (_r1.i >= _r0.i) goto label11;
1543     XMLVM_SOURCE_POSITION("ArrayList.java", 450)
1544     XMLVM_CHECK_NPE(3)
1545     _r2.o = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.array_;
1546     XMLVM_CHECK_NPE(2)
1547     XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
1548     _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
1549     if (_r2.o != JAVA_NULL) goto label46;
1550     XMLVM_SOURCE_POSITION("ArrayList.java", 451)
1551     XMLVM_CHECK_NPE(3)
1552     _r0.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.firstIndex_;
1553     _r0.i = _r1.i - _r0.i;
1554     goto label12;
1555     label46:;
1556     _r1.i = _r1.i + 1;
1557     goto label33;
1558     //XMLVM_END_WRAPPER
1559 }
1560 
java_util_ArrayList_isEmpty__(JAVA_OBJECT me)1561 JAVA_BOOLEAN java_util_ArrayList_isEmpty__(JAVA_OBJECT me)
1562 {
1563     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_isEmpty__]
1564     XMLVM_ENTER_METHOD("java.util.ArrayList", "isEmpty", "?")
1565     XMLVMElem _r0;
1566     XMLVMElem _r1;
1567     _r1.o = me;
1568     XMLVM_SOURCE_POSITION("ArrayList.java", 460)
1569     XMLVM_CHECK_NPE(1)
1570     _r0.i = ((java_util_ArrayList*) _r1.o)->fields.java_util_ArrayList.size_;
1571     if (_r0.i != 0) goto label6;
1572     _r0.i = 1;
1573     label5:;
1574     XMLVM_EXIT_METHOD()
1575     return _r0.i;
1576     label6:;
1577     _r0.i = 0;
1578     goto label5;
1579     //XMLVM_END_WRAPPER
1580 }
1581 
java_util_ArrayList_lastIndexOf___java_lang_Object(JAVA_OBJECT me,JAVA_OBJECT n1)1582 JAVA_INT java_util_ArrayList_lastIndexOf___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
1583 {
1584     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_lastIndexOf___java_lang_Object]
1585     XMLVM_ENTER_METHOD("java.util.ArrayList", "lastIndexOf", "?")
1586     XMLVMElem _r0;
1587     XMLVMElem _r1;
1588     XMLVMElem _r2;
1589     XMLVMElem _r3;
1590     XMLVMElem _r4;
1591     _r3.o = me;
1592     _r4.o = n1;
1593     _r2.i = 1;
1594     XMLVM_SOURCE_POSITION("ArrayList.java", 465)
1595     XMLVM_CHECK_NPE(3)
1596     _r0.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.firstIndex_;
1597     XMLVM_CHECK_NPE(3)
1598     _r1.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.size_;
1599     _r0.i = _r0.i + _r1.i;
1600     if (_r4.o == JAVA_NULL) goto label32;
1601     XMLVM_SOURCE_POSITION("ArrayList.java", 466)
1602     XMLVM_SOURCE_POSITION("ArrayList.java", 467)
1603     _r0.i = _r0.i - _r2.i;
1604     label9:;
1605     XMLVM_CHECK_NPE(3)
1606     _r1.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.firstIndex_;
1607     if (_r0.i >= _r1.i) goto label15;
1608     label13:;
1609     XMLVM_SOURCE_POSITION("ArrayList.java", 479)
1610     _r0.i = -1;
1611     label14:;
1612     XMLVM_EXIT_METHOD()
1613     return _r0.i;
1614     label15:;
1615     XMLVM_SOURCE_POSITION("ArrayList.java", 468)
1616     XMLVM_CHECK_NPE(3)
1617     _r1.o = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.array_;
1618     XMLVM_CHECK_NPE(1)
1619     XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
1620     _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
1621     //java_lang_Object_equals___java_lang_Object[1]
1622     XMLVM_CHECK_NPE(4)
1623     _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[1])(_r4.o, _r1.o);
1624     if (_r1.i == 0) goto label29;
1625     XMLVM_SOURCE_POSITION("ArrayList.java", 469)
1626     XMLVM_CHECK_NPE(3)
1627     _r1.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.firstIndex_;
1628     _r0.i = _r0.i - _r1.i;
1629     goto label14;
1630     label29:;
1631     _r0.i = _r0.i + -1;
1632     goto label9;
1633     label32:;
1634     XMLVM_SOURCE_POSITION("ArrayList.java", 473)
1635     _r0.i = _r0.i - _r2.i;
1636     label33:;
1637     XMLVM_CHECK_NPE(3)
1638     _r1.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.firstIndex_;
1639     if (_r0.i < _r1.i) goto label13;
1640     XMLVM_SOURCE_POSITION("ArrayList.java", 474)
1641     XMLVM_CHECK_NPE(3)
1642     _r1.o = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.array_;
1643     XMLVM_CHECK_NPE(1)
1644     XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
1645     _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
1646     if (_r1.o != JAVA_NULL) goto label47;
1647     XMLVM_SOURCE_POSITION("ArrayList.java", 475)
1648     XMLVM_CHECK_NPE(3)
1649     _r1.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.firstIndex_;
1650     _r0.i = _r0.i - _r1.i;
1651     goto label14;
1652     label47:;
1653     _r0.i = _r0.i + -1;
1654     goto label33;
1655     //XMLVM_END_WRAPPER
1656 }
1657 
java_util_ArrayList_remove___int(JAVA_OBJECT me,JAVA_INT n1)1658 JAVA_OBJECT java_util_ArrayList_remove___int(JAVA_OBJECT me, JAVA_INT n1)
1659 {
1660     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_remove___int]
1661     XMLVM_ENTER_METHOD("java.util.ArrayList", "remove", "?")
1662     XMLVMElem _r0;
1663     XMLVMElem _r1;
1664     XMLVMElem _r2;
1665     XMLVMElem _r3;
1666     XMLVMElem _r4;
1667     XMLVMElem _r5;
1668     XMLVMElem _r6;
1669     XMLVMElem _r7;
1670     XMLVMElem _r8;
1671     XMLVMElem _r9;
1672     _r8.o = me;
1673     _r9.i = n1;
1674     _r7.o = JAVA_NULL;
1675     _r6.i = 1;
1676     XMLVM_SOURCE_POSITION("ArrayList.java", 494)
1677     if (_r9.i < 0) goto label8;
1678     XMLVM_CHECK_NPE(8)
1679     _r0.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
1680     if (_r9.i < _r0.i) goto label30;
1681     label8:;
1682     XMLVM_SOURCE_POSITION("ArrayList.java", 495)
1683     _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
1684     XMLVM_SOURCE_POSITION("ArrayList.java", 497)
1685     // "luni.0A"
1686     _r1.o = xmlvm_create_java_string_from_pool(162);
1687     XMLVM_SOURCE_POSITION("ArrayList.java", 498)
1688     _r2.o = java_lang_Integer_valueOf___int(_r9.i);
1689     XMLVM_SOURCE_POSITION("ArrayList.java", 499)
1690     XMLVM_CHECK_NPE(8)
1691     _r3.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
1692     _r3.o = java_lang_Integer_valueOf___int(_r3.i);
1693     _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_java_lang_Object(_r1.o, _r2.o, _r3.o);
1694     XMLVM_CHECK_NPE(0)
1695     java_lang_IndexOutOfBoundsException___INIT____java_lang_String(_r0.o, _r1.o);
1696     XMLVM_THROW_CUSTOM(_r0.o)
1697     label30:;
1698     XMLVM_SOURCE_POSITION("ArrayList.java", 501)
1699     if (_r9.i != 0) goto label67;
1700     XMLVM_SOURCE_POSITION("ArrayList.java", 502)
1701     XMLVM_CHECK_NPE(8)
1702     _r0.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
1703     XMLVM_CHECK_NPE(8)
1704     _r1.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
1705     XMLVM_CHECK_NPE(0)
1706     XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
1707     _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
1708     XMLVM_SOURCE_POSITION("ArrayList.java", 503)
1709     XMLVM_CHECK_NPE(8)
1710     _r1.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
1711     XMLVM_CHECK_NPE(8)
1712     _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
1713     _r3.i = _r2.i + 1;
1714     XMLVM_CHECK_NPE(8)
1715     ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_ = _r3.i;
1716     XMLVM_CHECK_NPE(1)
1717     XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
1718     ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r7.o;
1719     label48:;
1720     XMLVM_SOURCE_POSITION("ArrayList.java", 521)
1721     XMLVM_CHECK_NPE(8)
1722     _r1.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
1723     _r1.i = _r1.i - _r6.i;
1724     XMLVM_CHECK_NPE(8)
1725     ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_ = _r1.i;
1726     XMLVM_SOURCE_POSITION("ArrayList.java", 525)
1727     XMLVM_CHECK_NPE(8)
1728     _r1.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
1729     if (_r1.i != 0) goto label60;
1730     XMLVM_SOURCE_POSITION("ArrayList.java", 526)
1731     _r1.i = 0;
1732     XMLVM_CHECK_NPE(8)
1733     ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_ = _r1.i;
1734     label60:;
1735     XMLVM_SOURCE_POSITION("ArrayList.java", 529)
1736     XMLVM_CHECK_NPE(8)
1737     _r1.i = ((java_util_AbstractList*) _r8.o)->fields.java_util_AbstractList.modCount_;
1738     _r1.i = _r1.i + 1;
1739     XMLVM_CHECK_NPE(8)
1740     ((java_util_AbstractList*) _r8.o)->fields.java_util_AbstractList.modCount_ = _r1.i;
1741     XMLVM_SOURCE_POSITION("ArrayList.java", 530)
1742     XMLVM_EXIT_METHOD()
1743     return _r0.o;
1744     label67:;
1745     XMLVM_SOURCE_POSITION("ArrayList.java", 504)
1746     XMLVM_CHECK_NPE(8)
1747     _r0.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
1748     _r0.i = _r0.i - _r6.i;
1749     if (_r9.i != _r0.i) goto label88;
1750     XMLVM_SOURCE_POSITION("ArrayList.java", 505)
1751     XMLVM_CHECK_NPE(8)
1752     _r0.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
1753     XMLVM_CHECK_NPE(8)
1754     _r1.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
1755     _r0.i = _r0.i + _r1.i;
1756     _r0.i = _r0.i - _r6.i;
1757     XMLVM_SOURCE_POSITION("ArrayList.java", 506)
1758     XMLVM_CHECK_NPE(8)
1759     _r1.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
1760     XMLVM_CHECK_NPE(1)
1761     XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
1762     _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
1763     XMLVM_SOURCE_POSITION("ArrayList.java", 507)
1764     XMLVM_CHECK_NPE(8)
1765     _r2.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
1766     XMLVM_CHECK_NPE(2)
1767     XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
1768     ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r7.o;
1769     _r0 = _r1;
1770     goto label48;
1771     label88:;
1772     XMLVM_SOURCE_POSITION("ArrayList.java", 509)
1773     XMLVM_CHECK_NPE(8)
1774     _r0.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
1775     _r0.i = _r0.i + _r9.i;
1776     XMLVM_SOURCE_POSITION("ArrayList.java", 510)
1777     XMLVM_CHECK_NPE(8)
1778     _r1.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
1779     XMLVM_CHECK_NPE(1)
1780     XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
1781     _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
1782     XMLVM_SOURCE_POSITION("ArrayList.java", 511)
1783     XMLVM_CHECK_NPE(8)
1784     _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
1785     _r2.i = _r2.i / 2;
1786     if (_r9.i >= _r2.i) goto label126;
1787     XMLVM_SOURCE_POSITION("ArrayList.java", 512)
1788     XMLVM_CHECK_NPE(8)
1789     _r0.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
1790     XMLVM_CHECK_NPE(8)
1791     _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
1792     XMLVM_CHECK_NPE(8)
1793     _r3.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
1794     XMLVM_CHECK_NPE(8)
1795     _r4.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
1796     _r4.i = _r4.i + 1;
1797     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r2.i, _r3.o, _r4.i, _r9.i);
1798     XMLVM_SOURCE_POSITION("ArrayList.java", 514)
1799     XMLVM_CHECK_NPE(8)
1800     _r0.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
1801     XMLVM_CHECK_NPE(8)
1802     _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
1803     _r3.i = _r2.i + 1;
1804     XMLVM_CHECK_NPE(8)
1805     ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_ = _r3.i;
1806     XMLVM_CHECK_NPE(0)
1807     XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
1808     ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r7.o;
1809     _r0 = _r1;
1810     goto label48;
1811     label126:;
1812     XMLVM_SOURCE_POSITION("ArrayList.java", 516)
1813     XMLVM_CHECK_NPE(8)
1814     _r2.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
1815     _r3.i = _r0.i + 1;
1816     XMLVM_CHECK_NPE(8)
1817     _r4.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
1818     XMLVM_SOURCE_POSITION("ArrayList.java", 517)
1819     XMLVM_CHECK_NPE(8)
1820     _r5.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
1821     _r5.i = _r5.i - _r9.i;
1822     _r5.i = _r5.i - _r6.i;
1823     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r2.o, _r3.i, _r4.o, _r0.i, _r5.i);
1824     XMLVM_SOURCE_POSITION("ArrayList.java", 518)
1825     XMLVM_CHECK_NPE(8)
1826     _r0.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
1827     XMLVM_CHECK_NPE(8)
1828     _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
1829     XMLVM_CHECK_NPE(8)
1830     _r3.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
1831     _r2.i = _r2.i + _r3.i;
1832     _r2.i = _r2.i - _r6.i;
1833     XMLVM_CHECK_NPE(0)
1834     XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
1835     ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r7.o;
1836     _r0 = _r1;
1837     goto label48;
1838     //XMLVM_END_WRAPPER
1839 }
1840 
java_util_ArrayList_remove___java_lang_Object(JAVA_OBJECT me,JAVA_OBJECT n1)1841 JAVA_BOOLEAN java_util_ArrayList_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
1842 {
1843     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_remove___java_lang_Object]
1844     XMLVM_ENTER_METHOD("java.util.ArrayList", "remove", "?")
1845     XMLVMElem _r0;
1846     XMLVMElem _r1;
1847     XMLVMElem _r2;
1848     _r1.o = me;
1849     _r2.o = n1;
1850     XMLVM_SOURCE_POSITION("ArrayList.java", 535)
1851     //java_util_ArrayList_indexOf___java_lang_Object[22]
1852     XMLVM_CHECK_NPE(1)
1853     _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_ArrayList*) _r1.o)->tib->vtable[22])(_r1.o, _r2.o);
1854     XMLVM_SOURCE_POSITION("ArrayList.java", 536)
1855     if (_r0.i < 0) goto label11;
1856     XMLVM_SOURCE_POSITION("ArrayList.java", 537)
1857     //java_util_ArrayList_remove___int[27]
1858     XMLVM_CHECK_NPE(1)
1859     (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) ((java_util_ArrayList*) _r1.o)->tib->vtable[27])(_r1.o, _r0.i);
1860     XMLVM_SOURCE_POSITION("ArrayList.java", 538)
1861     _r0.i = 1;
1862     label10:;
1863     XMLVM_SOURCE_POSITION("ArrayList.java", 540)
1864     XMLVM_EXIT_METHOD()
1865     return _r0.i;
1866     label11:;
1867     _r0.i = 0;
1868     goto label10;
1869     //XMLVM_END_WRAPPER
1870 }
1871 
java_util_ArrayList_removeRange___int_int(JAVA_OBJECT me,JAVA_INT n1,JAVA_INT n2)1872 void java_util_ArrayList_removeRange___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
1873 {
1874     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_removeRange___int_int]
1875     XMLVM_ENTER_METHOD("java.util.ArrayList", "removeRange", "?")
1876     XMLVMElem _r0;
1877     XMLVMElem _r1;
1878     XMLVMElem _r2;
1879     XMLVMElem _r3;
1880     XMLVMElem _r4;
1881     XMLVMElem _r5;
1882     XMLVMElem _r6;
1883     XMLVMElem _r7;
1884     XMLVMElem _r8;
1885     _r6.o = me;
1886     _r7.i = n1;
1887     _r8.i = n2;
1888     _r5.o = JAVA_NULL;
1889     XMLVM_SOURCE_POSITION("ArrayList.java", 557)
1890     if (_r7.i >= 0) goto label19;
1891     XMLVM_SOURCE_POSITION("ArrayList.java", 559)
1892     _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
1893     XMLVM_SOURCE_POSITION("ArrayList.java", 561)
1894     // "luni.0B"
1895     _r1.o = xmlvm_create_java_string_from_pool(163);
1896     XMLVM_SOURCE_POSITION("ArrayList.java", 562)
1897     _r2.o = java_lang_Integer_valueOf___int(_r7.i);
1898     _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object(_r1.o, _r2.o);
1899     XMLVM_CHECK_NPE(0)
1900     java_lang_IndexOutOfBoundsException___INIT____java_lang_String(_r0.o, _r1.o);
1901     XMLVM_THROW_CUSTOM(_r0.o)
1902     label19:;
1903     XMLVM_SOURCE_POSITION("ArrayList.java", 563)
1904     XMLVM_CHECK_NPE(6)
1905     _r0.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
1906     if (_r8.i <= _r0.i) goto label45;
1907     XMLVM_SOURCE_POSITION("ArrayList.java", 565)
1908     _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
1909     XMLVM_SOURCE_POSITION("ArrayList.java", 567)
1910     // "luni.0A"
1911     _r1.o = xmlvm_create_java_string_from_pool(162);
1912     XMLVM_SOURCE_POSITION("ArrayList.java", 568)
1913     _r2.o = java_lang_Integer_valueOf___int(_r8.i);
1914     XMLVM_CHECK_NPE(6)
1915     _r3.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
1916     _r3.o = java_lang_Integer_valueOf___int(_r3.i);
1917     _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_java_lang_Object(_r1.o, _r2.o, _r3.o);
1918     XMLVM_CHECK_NPE(0)
1919     java_lang_IndexOutOfBoundsException___INIT____java_lang_String(_r0.o, _r1.o);
1920     XMLVM_THROW_CUSTOM(_r0.o)
1921     label45:;
1922     XMLVM_SOURCE_POSITION("ArrayList.java", 569)
1923     if (_r7.i <= _r8.i) goto label67;
1924     XMLVM_SOURCE_POSITION("ArrayList.java", 570)
1925     _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
1926     XMLVM_SOURCE_POSITION("ArrayList.java", 572)
1927     // "luni.35"
1928     _r1.o = xmlvm_create_java_string_from_pool(164);
1929     XMLVM_SOURCE_POSITION("ArrayList.java", 573)
1930     _r2.o = java_lang_Integer_valueOf___int(_r7.i);
1931     _r3.o = java_lang_Integer_valueOf___int(_r8.i);
1932     _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_java_lang_Object(_r1.o, _r2.o, _r3.o);
1933     XMLVM_CHECK_NPE(0)
1934     java_lang_IndexOutOfBoundsException___INIT____java_lang_String(_r0.o, _r1.o);
1935     XMLVM_THROW_CUSTOM(_r0.o)
1936     label67:;
1937     XMLVM_SOURCE_POSITION("ArrayList.java", 576)
1938     if (_r7.i != _r8.i) goto label70;
1939     label69:;
1940     XMLVM_SOURCE_POSITION("ArrayList.java", 594)
1941     XMLVM_EXIT_METHOD()
1942     return;
1943     label70:;
1944     XMLVM_SOURCE_POSITION("ArrayList.java", 579)
1945     XMLVM_CHECK_NPE(6)
1946     _r0.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
1947     if (_r8.i != _r0.i) goto label101;
1948     XMLVM_SOURCE_POSITION("ArrayList.java", 580)
1949     XMLVM_CHECK_NPE(6)
1950     _r0.o = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.array_;
1951     XMLVM_CHECK_NPE(6)
1952     _r1.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
1953     _r1.i = _r1.i + _r7.i;
1954     XMLVM_CHECK_NPE(6)
1955     _r2.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
1956     XMLVM_CHECK_NPE(6)
1957     _r3.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
1958     _r2.i = _r2.i + _r3.i;
1959 
1960 
1961     // Red class access removed: java.util.Arrays::fill
1962     XMLVM_RED_CLASS_DEPENDENCY();
1963     label87:;
1964     XMLVM_SOURCE_POSITION("ArrayList.java", 592)
1965     XMLVM_CHECK_NPE(6)
1966     _r0.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
1967     _r1.i = _r8.i - _r7.i;
1968     _r0.i = _r0.i - _r1.i;
1969     XMLVM_CHECK_NPE(6)
1970     ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_ = _r0.i;
1971     XMLVM_SOURCE_POSITION("ArrayList.java", 593)
1972     XMLVM_CHECK_NPE(6)
1973     _r0.i = ((java_util_AbstractList*) _r6.o)->fields.java_util_AbstractList.modCount_;
1974     _r0.i = _r0.i + 1;
1975     XMLVM_CHECK_NPE(6)
1976     ((java_util_AbstractList*) _r6.o)->fields.java_util_AbstractList.modCount_ = _r0.i;
1977     goto label69;
1978     label101:;
1979     XMLVM_SOURCE_POSITION("ArrayList.java", 581)
1980     if (_r7.i != 0) goto label119;
1981     XMLVM_SOURCE_POSITION("ArrayList.java", 582)
1982     XMLVM_CHECK_NPE(6)
1983     _r0.o = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.array_;
1984     XMLVM_CHECK_NPE(6)
1985     _r1.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
1986     XMLVM_CHECK_NPE(6)
1987     _r2.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
1988     _r2.i = _r2.i + _r8.i;
1989 
1990 
1991     // Red class access removed: java.util.Arrays::fill
1992     XMLVM_RED_CLASS_DEPENDENCY();
1993     XMLVM_SOURCE_POSITION("ArrayList.java", 583)
1994     XMLVM_CHECK_NPE(6)
1995     _r0.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
1996     _r0.i = _r0.i + _r8.i;
1997     XMLVM_CHECK_NPE(6)
1998     ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_ = _r0.i;
1999     goto label87;
2000     label119:;
2001     XMLVM_SOURCE_POSITION("ArrayList.java", 586)
2002     XMLVM_CHECK_NPE(6)
2003     _r0.o = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.array_;
2004     XMLVM_CHECK_NPE(6)
2005     _r1.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
2006     _r1.i = _r1.i + _r8.i;
2007     XMLVM_CHECK_NPE(6)
2008     _r2.o = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.array_;
2009     XMLVM_CHECK_NPE(6)
2010     _r3.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
2011     XMLVM_SOURCE_POSITION("ArrayList.java", 587)
2012     _r3.i = _r3.i + _r7.i;
2013     XMLVM_CHECK_NPE(6)
2014     _r4.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
2015     _r4.i = _r4.i - _r8.i;
2016     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r2.o, _r3.i, _r4.i);
2017     XMLVM_SOURCE_POSITION("ArrayList.java", 588)
2018     XMLVM_CHECK_NPE(6)
2019     _r0.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
2020     XMLVM_CHECK_NPE(6)
2021     _r1.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
2022     _r0.i = _r0.i + _r1.i;
2023     _r1.i = _r0.i + _r7.i;
2024     _r1.i = _r1.i - _r8.i;
2025     XMLVM_SOURCE_POSITION("ArrayList.java", 590)
2026     XMLVM_CHECK_NPE(6)
2027     _r2.o = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.array_;
2028 
2029 
2030     // Red class access removed: java.util.Arrays::fill
2031     XMLVM_RED_CLASS_DEPENDENCY();
2032     goto label87;
2033     //XMLVM_END_WRAPPER
2034 }
2035 
java_util_ArrayList_set___int_java_lang_Object(JAVA_OBJECT me,JAVA_INT n1,JAVA_OBJECT n2)2036 JAVA_OBJECT java_util_ArrayList_set___int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
2037 {
2038     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_set___int_java_lang_Object]
2039     XMLVM_ENTER_METHOD("java.util.ArrayList", "set", "?")
2040     XMLVMElem _r0;
2041     XMLVMElem _r1;
2042     XMLVMElem _r2;
2043     XMLVMElem _r3;
2044     XMLVMElem _r4;
2045     XMLVMElem _r5;
2046     XMLVMElem _r6;
2047     _r4.o = me;
2048     _r5.i = n1;
2049     _r6.o = n2;
2050     XMLVM_SOURCE_POSITION("ArrayList.java", 610)
2051     if (_r5.i < 0) goto label6;
2052     XMLVM_CHECK_NPE(4)
2053     _r0.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
2054     if (_r5.i < _r0.i) goto label28;
2055     label6:;
2056     XMLVM_SOURCE_POSITION("ArrayList.java", 611)
2057     _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
2058     XMLVM_SOURCE_POSITION("ArrayList.java", 613)
2059     // "luni.0A"
2060     _r1.o = xmlvm_create_java_string_from_pool(162);
2061     XMLVM_SOURCE_POSITION("ArrayList.java", 614)
2062     _r2.o = java_lang_Integer_valueOf___int(_r5.i);
2063     XMLVM_SOURCE_POSITION("ArrayList.java", 615)
2064     XMLVM_CHECK_NPE(4)
2065     _r3.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
2066     _r3.o = java_lang_Integer_valueOf___int(_r3.i);
2067     _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_java_lang_Object(_r1.o, _r2.o, _r3.o);
2068     XMLVM_CHECK_NPE(0)
2069     java_lang_IndexOutOfBoundsException___INIT____java_lang_String(_r0.o, _r1.o);
2070     XMLVM_THROW_CUSTOM(_r0.o)
2071     label28:;
2072     XMLVM_SOURCE_POSITION("ArrayList.java", 617)
2073     XMLVM_CHECK_NPE(4)
2074     _r0.o = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.array_;
2075     XMLVM_CHECK_NPE(4)
2076     _r1.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_;
2077     _r1.i = _r1.i + _r5.i;
2078     XMLVM_CHECK_NPE(0)
2079     XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
2080     _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
2081     XMLVM_SOURCE_POSITION("ArrayList.java", 618)
2082     XMLVM_CHECK_NPE(4)
2083     _r1.o = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.array_;
2084     XMLVM_CHECK_NPE(4)
2085     _r2.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_;
2086     _r2.i = _r2.i + _r5.i;
2087     XMLVM_CHECK_NPE(1)
2088     XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
2089     ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r6.o;
2090     XMLVM_SOURCE_POSITION("ArrayList.java", 619)
2091     XMLVM_EXIT_METHOD()
2092     return _r0.o;
2093     //XMLVM_END_WRAPPER
2094 }
2095 
java_util_ArrayList_size__(JAVA_OBJECT me)2096 JAVA_INT java_util_ArrayList_size__(JAVA_OBJECT me)
2097 {
2098     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_size__]
2099     XMLVM_ENTER_METHOD("java.util.ArrayList", "size", "?")
2100     XMLVMElem _r0;
2101     XMLVMElem _r1;
2102     _r1.o = me;
2103     XMLVM_SOURCE_POSITION("ArrayList.java", 629)
2104     XMLVM_CHECK_NPE(1)
2105     _r0.i = ((java_util_ArrayList*) _r1.o)->fields.java_util_ArrayList.size_;
2106     XMLVM_EXIT_METHOD()
2107     return _r0.i;
2108     //XMLVM_END_WRAPPER
2109 }
2110 
java_util_ArrayList_toArray__(JAVA_OBJECT me)2111 JAVA_OBJECT java_util_ArrayList_toArray__(JAVA_OBJECT me)
2112 {
2113     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_toArray__]
2114     XMLVM_ENTER_METHOD("java.util.ArrayList", "toArray", "?")
2115     XMLVMElem _r0;
2116     XMLVMElem _r1;
2117     XMLVMElem _r2;
2118     XMLVMElem _r3;
2119     XMLVMElem _r4;
2120     XMLVMElem _r5;
2121     _r5.o = me;
2122     XMLVM_SOURCE_POSITION("ArrayList.java", 640)
2123     XMLVM_CHECK_NPE(5)
2124     _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
2125     XMLVM_CLASS_INIT(java_lang_Object)
2126     _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r0.i);
2127     XMLVM_SOURCE_POSITION("ArrayList.java", 641)
2128     XMLVM_CHECK_NPE(5)
2129     _r1.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
2130     XMLVM_CHECK_NPE(5)
2131     _r2.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
2132     _r3.i = 0;
2133     XMLVM_CHECK_NPE(5)
2134     _r4.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
2135     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r2.i, _r0.o, _r3.i, _r4.i);
2136     XMLVM_SOURCE_POSITION("ArrayList.java", 642)
2137     XMLVM_EXIT_METHOD()
2138     return _r0.o;
2139     //XMLVM_END_WRAPPER
2140 }
2141 
java_util_ArrayList_toArray___java_lang_Object_1ARRAY(JAVA_OBJECT me,JAVA_OBJECT n1)2142 JAVA_OBJECT java_util_ArrayList_toArray___java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
2143 {
2144     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_toArray___java_lang_Object_1ARRAY]
2145     XMLVM_ENTER_METHOD("java.util.ArrayList", "toArray", "?")
2146     XMLVMElem _r0;
2147     XMLVMElem _r1;
2148     XMLVMElem _r2;
2149     XMLVMElem _r3;
2150     XMLVMElem _r4;
2151     XMLVMElem _r5;
2152     XMLVMElem _r6;
2153     _r5.o = me;
2154     _r6.o = n1;
2155     XMLVM_SOURCE_POSITION("ArrayList.java", 663)
2156     XMLVM_CHECK_NPE(5)
2157     _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
2158     _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
2159     if (_r0.i <= _r1.i) goto label42;
2160     XMLVM_SOURCE_POSITION("ArrayList.java", 664)
2161     //java_lang_Object_getClass__[3]
2162     XMLVM_CHECK_NPE(6)
2163     _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r6.o)->tib->vtable[3])(_r6.o);
2164     XMLVM_CHECK_NPE(0)
2165     _r0.o = java_lang_Class_getComponentType__(_r0.o);
2166     XMLVM_SOURCE_POSITION("ArrayList.java", 665)
2167     XMLVM_CHECK_NPE(5)
2168     _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
2169     _r0.o = java_lang_reflect_Array_newInstance___java_lang_Class_int(_r0.o, _r1.i);
2170     _r0.o = _r0.o;
2171     label21:;
2172     XMLVM_SOURCE_POSITION("ArrayList.java", 667)
2173     XMLVM_CHECK_NPE(5)
2174     _r1.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
2175     XMLVM_CHECK_NPE(5)
2176     _r2.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
2177     _r3.i = 0;
2178     XMLVM_CHECK_NPE(5)
2179     _r4.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
2180     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r2.i, _r0.o, _r3.i, _r4.i);
2181     XMLVM_SOURCE_POSITION("ArrayList.java", 668)
2182     XMLVM_CHECK_NPE(5)
2183     _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
2184     _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
2185     if (_r1.i >= _r2.i) goto label41;
2186     XMLVM_SOURCE_POSITION("ArrayList.java", 671)
2187     XMLVM_CHECK_NPE(5)
2188     _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
2189     _r2.o = JAVA_NULL;
2190     XMLVM_CHECK_NPE(0)
2191     XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
2192     ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
2193     label41:;
2194     XMLVM_SOURCE_POSITION("ArrayList.java", 673)
2195     XMLVM_EXIT_METHOD()
2196     return _r0.o;
2197     label42:;
2198     _r0 = _r6;
2199     goto label21;
2200     //XMLVM_END_WRAPPER
2201 }
2202 
java_util_ArrayList_trimToSize__(JAVA_OBJECT me)2203 void java_util_ArrayList_trimToSize__(JAVA_OBJECT me)
2204 {
2205     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_trimToSize__]
2206     XMLVM_ENTER_METHOD("java.util.ArrayList", "trimToSize", "?")
2207     XMLVMElem _r0;
2208     XMLVMElem _r1;
2209     XMLVMElem _r2;
2210     XMLVMElem _r3;
2211     XMLVMElem _r4;
2212     XMLVMElem _r5;
2213     _r5.o = me;
2214     _r4.i = 0;
2215     XMLVM_SOURCE_POSITION("ArrayList.java", 683)
2216     XMLVM_CHECK_NPE(5)
2217     _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
2218     XMLVM_CHECK_NPE(5)
2219     _r0.o = java_util_ArrayList_newElementArray___int(_r5.o, _r0.i);
2220     XMLVM_SOURCE_POSITION("ArrayList.java", 684)
2221     XMLVM_CHECK_NPE(5)
2222     _r1.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
2223     XMLVM_CHECK_NPE(5)
2224     _r2.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
2225     XMLVM_CHECK_NPE(5)
2226     _r3.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
2227     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r2.i, _r0.o, _r4.i, _r3.i);
2228     XMLVM_SOURCE_POSITION("ArrayList.java", 685)
2229     XMLVM_CHECK_NPE(5)
2230     ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_ = _r0.o;
2231     XMLVM_SOURCE_POSITION("ArrayList.java", 686)
2232     XMLVM_CHECK_NPE(5)
2233     ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_ = _r4.i;
2234     XMLVM_SOURCE_POSITION("ArrayList.java", 687)
2235     XMLVM_CHECK_NPE(5)
2236     ((java_util_AbstractList*) _r5.o)->fields.java_util_AbstractList.modCount_ = _r4.i;
2237     XMLVM_SOURCE_POSITION("ArrayList.java", 688)
2238     XMLVM_EXIT_METHOD()
2239     return;
2240     //XMLVM_END_WRAPPER
2241 }
2242 
java_util_ArrayList_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me,JAVA_OBJECT n1)2243 void java_util_ArrayList_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
2244 {
2245     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_writeObject___java_io_ObjectOutputStream]
2246     XMLVM_ENTER_METHOD("java.util.ArrayList", "writeObject", "?")
2247     XMLVMElem _r0;
2248     XMLVMElem _r1;
2249     XMLVMElem _r2;
2250     XMLVMElem _r3;
2251     XMLVMElem _r4;
2252     _r3.o = me;
2253     _r4.o = n1;
2254     XMLVM_SOURCE_POSITION("ArrayList.java", 694)
2255 
2256 
2257     // Red class access removed: java.io.ObjectOutputStream::putFields
2258     XMLVM_RED_CLASS_DEPENDENCY();
2259     XMLVM_SOURCE_POSITION("ArrayList.java", 695)
2260     // "size"
2261     _r1.o = xmlvm_create_java_string_from_pool(161);
2262     XMLVM_CHECK_NPE(3)
2263     _r2.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.size_;
2264 
2265 
2266     // Red class access removed: java.io.ObjectOutputStream$PutField::put
2267     XMLVM_RED_CLASS_DEPENDENCY();
2268     XMLVM_SOURCE_POSITION("ArrayList.java", 696)
2269 
2270 
2271     // Red class access removed: java.io.ObjectOutputStream::writeFields
2272     XMLVM_RED_CLASS_DEPENDENCY();
2273     XMLVM_SOURCE_POSITION("ArrayList.java", 697)
2274     XMLVM_CHECK_NPE(3)
2275     _r0.o = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.array_;
2276     _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
2277 
2278 
2279     // Red class access removed: java.io.ObjectOutputStream::writeInt
2280     XMLVM_RED_CLASS_DEPENDENCY();
2281     XMLVM_SOURCE_POSITION("ArrayList.java", 698)
2282     //java_util_ArrayList_iterator__[12]
2283     XMLVM_CHECK_NPE(3)
2284     _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_ArrayList*) _r3.o)->tib->vtable[12])(_r3.o);
2285     label24:;
2286     XMLVM_SOURCE_POSITION("ArrayList.java", 699)
2287     XMLVM_CHECK_NPE(0)
2288     _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
2289     if (_r1.i != 0) goto label31;
2290     XMLVM_SOURCE_POSITION("ArrayList.java", 702)
2291     XMLVM_EXIT_METHOD()
2292     return;
2293     label31:;
2294     XMLVM_SOURCE_POSITION("ArrayList.java", 700)
2295     XMLVM_CHECK_NPE(0)
2296     _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
2297 
2298 
2299     // Red class access removed: java.io.ObjectOutputStream::writeObject
2300     XMLVM_RED_CLASS_DEPENDENCY();
2301     goto label24;
2302     //XMLVM_END_WRAPPER
2303 }
2304 
java_util_ArrayList_readObject___java_io_ObjectInputStream(JAVA_OBJECT me,JAVA_OBJECT n1)2305 void java_util_ArrayList_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
2306 {
2307     //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_readObject___java_io_ObjectInputStream]
2308     XMLVM_ENTER_METHOD("java.util.ArrayList", "readObject", "?")
2309     XMLVMElem _r0;
2310     XMLVMElem _r1;
2311     XMLVMElem _r2;
2312     XMLVMElem _r3;
2313     XMLVMElem _r4;
2314     _r3.o = me;
2315     _r4.o = n1;
2316     _r2.i = 0;
2317     XMLVM_SOURCE_POSITION("ArrayList.java", 707)
2318 
2319 
2320     // Red class access removed: java.io.ObjectInputStream::readFields
2321     XMLVM_RED_CLASS_DEPENDENCY();
2322     XMLVM_SOURCE_POSITION("ArrayList.java", 708)
2323     // "size"
2324     _r1.o = xmlvm_create_java_string_from_pool(161);
2325 
2326 
2327     // Red class access removed: java.io.ObjectInputStream$GetField::get
2328     XMLVM_RED_CLASS_DEPENDENCY();
2329     XMLVM_CHECK_NPE(3)
2330     ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.size_ = _r0.i;
2331     XMLVM_SOURCE_POSITION("ArrayList.java", 709)
2332 
2333 
2334     // Red class access removed: java.io.ObjectInputStream::readInt
2335     XMLVM_RED_CLASS_DEPENDENCY();
2336     XMLVM_CHECK_NPE(3)
2337     _r0.o = java_util_ArrayList_newElementArray___int(_r3.o, _r0.i);
2338     XMLVM_CHECK_NPE(3)
2339     ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.array_ = _r0.o;
2340     _r0 = _r2;
2341     label24:;
2342     XMLVM_SOURCE_POSITION("ArrayList.java", 710)
2343     XMLVM_CHECK_NPE(3)
2344     _r1.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.size_;
2345     if (_r0.i < _r1.i) goto label29;
2346     XMLVM_SOURCE_POSITION("ArrayList.java", 713)
2347     XMLVM_EXIT_METHOD()
2348     return;
2349     label29:;
2350     XMLVM_SOURCE_POSITION("ArrayList.java", 711)
2351     XMLVM_CHECK_NPE(3)
2352     _r1.o = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.array_;
2353 
2354 
2355     // Red class access removed: java.io.ObjectInputStream::readObject
2356     XMLVM_RED_CLASS_DEPENDENCY();
2357     XMLVM_CHECK_NPE(1)
2358     XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
2359     ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r2.o;
2360     _r0.i = _r0.i + 1;
2361     goto label24;
2362     //XMLVM_END_WRAPPER
2363 }
2364 
2365