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