1 #include "xmlvm.h"
2 #include "java_lang_Character.h"
3 #include "java_lang_Class.h"
4 #include "java_lang_Double.h"
5 #include "java_lang_Exception.h"
6 #include "java_lang_Float.h"
7 #include "java_lang_IndexOutOfBoundsException.h"
8 #include "java_lang_Integer.h"
9 #include "java_lang_Long.h"
10 #include "java_lang_Math.h"
11 #include "java_lang_NullPointerException.h"
12 #include "java_lang_String_CaseInsensitiveComparator.h"
13 #include "java_lang_StringBuilder.h"
14 #include "java_lang_System.h"
15 #include "java_lang_Throwable.h"
16 #include "java_nio_ByteBuffer.h"
17 #include "java_nio_CharBuffer.h"
18 #include "java_nio_charset_Charset.h"
19 #include "java_security_AccessController.h"
20 #include "java_util_Comparator.h"
21 #include "java_util_Locale.h"
22 #include "org_apache_harmony_luni_util_PriviAction.h"
23 #include "org_apache_harmony_niochar_charset_UTF_8.h"
24 
25 #include "java_lang_String.h"
26 
27 #define XMLVM_CURRENT_CLASS_NAME String
28 #define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_String
29 
30 __TIB_DEFINITION_java_lang_String __TIB_java_lang_String = {
31     0, // classInitializationBegan
32     0, // classInitialized
33     -1, // initializerThreadId
34     __INIT_java_lang_String, // classInitializer
35     "java.lang.String", // className
36     "java.lang", // package
37     JAVA_NULL, // enclosingClassName
38     JAVA_NULL, // enclosingMethodName
39     "Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/Comparable<Ljava/lang/String;>;Ljava/lang/CharSequence;", // signature
40     (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
41     sizeof(java_lang_String), // sizeInstance
42     XMLVM_TYPE_CLASS};
43 
44 JAVA_OBJECT __CLASS_java_lang_String;
45 JAVA_OBJECT __CLASS_java_lang_String_1ARRAY;
46 JAVA_OBJECT __CLASS_java_lang_String_2ARRAY;
47 JAVA_OBJECT __CLASS_java_lang_String_3ARRAY;
48 //XMLVM_BEGIN_IMPLEMENTATION
49 //XMLVM_END_IMPLEMENTATION
50 
51 static JAVA_LONG _STATIC_java_lang_String_serialVersionUID;
52 static JAVA_OBJECT _STATIC_java_lang_String_CASE_INSENSITIVE_ORDER;
53 static JAVA_OBJECT _STATIC_java_lang_String_ascii;
54 static JAVA_OBJECT _STATIC_java_lang_String_DefaultCharset;
55 static JAVA_OBJECT _STATIC_java_lang_String_lastCharset;
56 
57 #include "xmlvm-reflection.h"
58 
59 static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
60 };
61 
62 static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
63 };
64 
constructor_dispatcher(JAVA_OBJECT constructor,JAVA_OBJECT arguments)65 static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
66 {
67     XMLVM_NOT_IMPLEMENTED();
68 }
69 
70 static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
71 };
72 
method_dispatcher(JAVA_OBJECT method,JAVA_OBJECT receiver,JAVA_OBJECT arguments)73 static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
74 {
75     XMLVM_NOT_IMPLEMENTED();
76 }
77 
__INIT_java_lang_String()78 void __INIT_java_lang_String()
79 {
80     staticInitializerLock(&__TIB_java_lang_String);
81 
82     // While the static initializer mutex is locked, locally store the value of
83     // whether class initialization began or not
84     int initBegan = __TIB_java_lang_String.classInitializationBegan;
85 
86     // Whether or not class initialization had already began, it has begun now
87     __TIB_java_lang_String.classInitializationBegan = 1;
88 
89     staticInitializerUnlock(&__TIB_java_lang_String);
90 
91     JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
92     if (initBegan) {
93         if (__TIB_java_lang_String.initializerThreadId != curThreadId) {
94             // Busy wait until the other thread finishes initializing this class
95             while (!__TIB_java_lang_String.classInitialized) {
96                 // do nothing
97             }
98         }
99     } else {
100         __TIB_java_lang_String.initializerThreadId = curThreadId;
101         XMLVM_CLASS_USED("java.lang.String")
102         __INIT_IMPL_java_lang_String();
103     }
104 }
105 
__INIT_IMPL_java_lang_String()106 void __INIT_IMPL_java_lang_String()
107 {
108     // Initialize base class if necessary
109     XMLVM_CLASS_INIT(java_lang_Object)
110     __TIB_java_lang_String.newInstanceFunc = __NEW_INSTANCE_java_lang_String;
111     // Copy vtable from base class
112     XMLVM_MEMCPY(__TIB_java_lang_String.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
113     // Initialize vtable for this class
114     __TIB_java_lang_String.vtable[6] = (VTABLE_PTR) &java_lang_String_charAt___int;
115     __TIB_java_lang_String.vtable[1] = (VTABLE_PTR) &java_lang_String_equals___java_lang_Object;
116     __TIB_java_lang_String.vtable[4] = (VTABLE_PTR) &java_lang_String_hashCode__;
117     __TIB_java_lang_String.vtable[8] = (VTABLE_PTR) &java_lang_String_length__;
118     __TIB_java_lang_String.vtable[5] = (VTABLE_PTR) &java_lang_String_toString__;
119     __TIB_java_lang_String.vtable[9] = (VTABLE_PTR) &java_lang_String_subSequence___int_int;
120     __TIB_java_lang_String.vtable[7] = (VTABLE_PTR) &java_lang_String_compareTo___java_lang_Object;
121     xmlvm_init_native_java_lang_String();
122     // Initialize interface information
123     __TIB_java_lang_String.numImplementedInterfaces = 3;
124     __TIB_java_lang_String.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 3);
125 
126     // Initialize interfaces if necessary and assign tib to implementedInterfaces
127 
128     XMLVM_CLASS_INIT(java_io_Serializable)
129 
130     __TIB_java_lang_String.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
131 
132     XMLVM_CLASS_INIT(java_lang_CharSequence)
133 
134     __TIB_java_lang_String.implementedInterfaces[0][1] = &__TIB_java_lang_CharSequence;
135 
136     XMLVM_CLASS_INIT(java_lang_Comparable)
137 
138     __TIB_java_lang_String.implementedInterfaces[0][2] = &__TIB_java_lang_Comparable;
139     // Initialize itable for this class
140     __TIB_java_lang_String.itableBegin = &__TIB_java_lang_String.itable[0];
141     __TIB_java_lang_String.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_charAt___int] = __TIB_java_lang_String.vtable[6];
142     __TIB_java_lang_String.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__] = __TIB_java_lang_String.vtable[8];
143     __TIB_java_lang_String.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_subSequence___int_int] = __TIB_java_lang_String.vtable[9];
144     __TIB_java_lang_String.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_toString__] = __TIB_java_lang_String.vtable[5];
145     __TIB_java_lang_String.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_lang_String.vtable[7];
146 
147     _STATIC_java_lang_String_serialVersionUID = -6849794470754667710;
148     _STATIC_java_lang_String_CASE_INSENSITIVE_ORDER = (java_util_Comparator*) JAVA_NULL;
149     _STATIC_java_lang_String_ascii = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
150     _STATIC_java_lang_String_DefaultCharset = (java_nio_charset_Charset*) JAVA_NULL;
151     _STATIC_java_lang_String_lastCharset = (java_nio_charset_Charset*) JAVA_NULL;
152 
153     __TIB_java_lang_String.declaredFields = &__field_reflection_data[0];
154     __TIB_java_lang_String.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
155     __TIB_java_lang_String.constructorDispatcherFunc = constructor_dispatcher;
156     __TIB_java_lang_String.declaredConstructors = &__constructor_reflection_data[0];
157     __TIB_java_lang_String.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
158     __TIB_java_lang_String.methodDispatcherFunc = method_dispatcher;
159     __TIB_java_lang_String.declaredMethods = &__method_reflection_data[0];
160     __TIB_java_lang_String.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
161     __CLASS_java_lang_String = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_String);
162     __TIB_java_lang_String.clazz = __CLASS_java_lang_String;
163     __TIB_java_lang_String.baseType = JAVA_NULL;
164     __CLASS_java_lang_String_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_String);
165     __CLASS_java_lang_String_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_String_1ARRAY);
166     __CLASS_java_lang_String_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_String_2ARRAY);
167     java_lang_String___CLINIT_();
168     //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_String]
169     //XMLVM_END_WRAPPER
170 
171     __TIB_java_lang_String.classInitialized = 1;
172 }
173 
__DELETE_java_lang_String(void * me,void * client_data)174 void __DELETE_java_lang_String(void* me, void* client_data)
175 {
176     //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_String]
177     //XMLVM_END_WRAPPER
178 }
179 
__INIT_INSTANCE_MEMBERS_java_lang_String(JAVA_OBJECT me,int derivedClassWillRegisterFinalizer)180 void __INIT_INSTANCE_MEMBERS_java_lang_String(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
181 {
182     __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
183     ((java_lang_String*) me)->fields.java_lang_String.charset_ = (org_apache_harmony_niochar_charset_UTF_8*) JAVA_NULL;
184     ((java_lang_String*) me)->fields.java_lang_String.charset2_ = (java_lang_Object*) JAVA_NULL;
185     ((java_lang_String*) me)->fields.java_lang_String.charset3_ = (java_lang_Object*) JAVA_NULL;
186     ((java_lang_String*) me)->fields.java_lang_String.value_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
187     ((java_lang_String*) me)->fields.java_lang_String.offset_ = 0;
188     ((java_lang_String*) me)->fields.java_lang_String.count_ = 0;
189     ((java_lang_String*) me)->fields.java_lang_String.hashCode_ = 0;
190     //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_String]
191     //XMLVM_END_WRAPPER
192 }
193 
__NEW_java_lang_String()194 JAVA_OBJECT __NEW_java_lang_String()
195 {    XMLVM_CLASS_INIT(java_lang_String)
196 java_lang_String* me = (java_lang_String*) XMLVM_MALLOC(sizeof(java_lang_String));
197     me->tib = &__TIB_java_lang_String;
198     __INIT_INSTANCE_MEMBERS_java_lang_String(me, 0);
199     //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_String]
200     //XMLVM_END_WRAPPER
201     return me;
202 }
203 
__NEW_INSTANCE_java_lang_String()204 JAVA_OBJECT __NEW_INSTANCE_java_lang_String()
205 {
206     JAVA_OBJECT me = JAVA_NULL;
207     me = __NEW_java_lang_String();
208     java_lang_String___INIT___(me);
209     return me;
210 }
211 
java_lang_String_GET_serialVersionUID()212 JAVA_LONG java_lang_String_GET_serialVersionUID()
213 {
214     XMLVM_CLASS_INIT(java_lang_String)
215     return _STATIC_java_lang_String_serialVersionUID;
216 }
217 
java_lang_String_PUT_serialVersionUID(JAVA_LONG v)218 void java_lang_String_PUT_serialVersionUID(JAVA_LONG v)
219 {
220     XMLVM_CLASS_INIT(java_lang_String)
221 _STATIC_java_lang_String_serialVersionUID = v;
222 }
223 
java_lang_String_GET_CASE_INSENSITIVE_ORDER()224 JAVA_OBJECT java_lang_String_GET_CASE_INSENSITIVE_ORDER()
225 {
226     XMLVM_CLASS_INIT(java_lang_String)
227     return _STATIC_java_lang_String_CASE_INSENSITIVE_ORDER;
228 }
229 
java_lang_String_PUT_CASE_INSENSITIVE_ORDER(JAVA_OBJECT v)230 void java_lang_String_PUT_CASE_INSENSITIVE_ORDER(JAVA_OBJECT v)
231 {
232     XMLVM_CLASS_INIT(java_lang_String)
233 _STATIC_java_lang_String_CASE_INSENSITIVE_ORDER = v;
234 }
235 
java_lang_String_GET_ascii()236 JAVA_OBJECT java_lang_String_GET_ascii()
237 {
238     XMLVM_CLASS_INIT(java_lang_String)
239     return _STATIC_java_lang_String_ascii;
240 }
241 
java_lang_String_PUT_ascii(JAVA_OBJECT v)242 void java_lang_String_PUT_ascii(JAVA_OBJECT v)
243 {
244     XMLVM_CLASS_INIT(java_lang_String)
245 _STATIC_java_lang_String_ascii = v;
246 }
247 
java_lang_String_GET_DefaultCharset()248 JAVA_OBJECT java_lang_String_GET_DefaultCharset()
249 {
250     XMLVM_CLASS_INIT(java_lang_String)
251     return _STATIC_java_lang_String_DefaultCharset;
252 }
253 
java_lang_String_PUT_DefaultCharset(JAVA_OBJECT v)254 void java_lang_String_PUT_DefaultCharset(JAVA_OBJECT v)
255 {
256     XMLVM_CLASS_INIT(java_lang_String)
257 _STATIC_java_lang_String_DefaultCharset = v;
258 }
259 
java_lang_String_GET_lastCharset()260 JAVA_OBJECT java_lang_String_GET_lastCharset()
261 {
262     XMLVM_CLASS_INIT(java_lang_String)
263     return _STATIC_java_lang_String_lastCharset;
264 }
265 
java_lang_String_PUT_lastCharset(JAVA_OBJECT v)266 void java_lang_String_PUT_lastCharset(JAVA_OBJECT v)
267 {
268     XMLVM_CLASS_INIT(java_lang_String)
269 _STATIC_java_lang_String_lastCharset = v;
270 }
271 
java_lang_String___INIT___(JAVA_OBJECT me)272 void java_lang_String___INIT___(JAVA_OBJECT me)
273 {
274     //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT___]
275     XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
276     XMLVMElem _r0;
277     XMLVMElem _r1;
278     XMLVMElem _r2;
279     _r2.o = me;
280     _r0.o = JAVA_NULL;
281     _r1.i = 0;
282     XMLVM_SOURCE_POSITION("String.java", 166)
283     XMLVM_CHECK_NPE(2)
284     java_lang_Object___INIT___(_r2.o);
285     XMLVM_SOURCE_POSITION("String.java", 58)
286     XMLVM_CHECK_NPE(2)
287     ((java_lang_String*) _r2.o)->fields.java_lang_String.charset_ = _r0.o;
288     XMLVM_SOURCE_POSITION("String.java", 59)
289     XMLVM_CHECK_NPE(2)
290     ((java_lang_String*) _r2.o)->fields.java_lang_String.charset2_ = _r0.o;
291     XMLVM_SOURCE_POSITION("String.java", 60)
292     XMLVM_CHECK_NPE(2)
293     ((java_lang_String*) _r2.o)->fields.java_lang_String.charset3_ = _r0.o;
294     XMLVM_SOURCE_POSITION("String.java", 167)
295     XMLVM_CLASS_INIT(char)
296     _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r1.i);
297     XMLVM_CHECK_NPE(2)
298     ((java_lang_String*) _r2.o)->fields.java_lang_String.value_ = _r0.o;
299     XMLVM_SOURCE_POSITION("String.java", 168)
300     XMLVM_CHECK_NPE(2)
301     ((java_lang_String*) _r2.o)->fields.java_lang_String.offset_ = _r1.i;
302     XMLVM_SOURCE_POSITION("String.java", 169)
303     XMLVM_CHECK_NPE(2)
304     ((java_lang_String*) _r2.o)->fields.java_lang_String.count_ = _r1.i;
305     XMLVM_SOURCE_POSITION("String.java", 170)
306     XMLVM_EXIT_METHOD()
307     return;
308     //XMLVM_END_WRAPPER
309 }
310 
java_lang_String___INIT____java_lang_String_char(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_CHAR n2)311 void java_lang_String___INIT____java_lang_String_char(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_CHAR n2)
312 {
313     //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____java_lang_String_char]
314     XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
315     XMLVMElem _r0;
316     XMLVMElem _r1;
317     XMLVMElem _r2;
318     XMLVMElem _r3;
319     XMLVMElem _r4;
320     XMLVMElem _r5;
321     XMLVMElem _r6;
322     XMLVMElem _r7;
323     _r5.o = me;
324     _r6.o = n1;
325     _r7.i = n2;
326     _r4.i = 0;
327     _r0.o = JAVA_NULL;
328     XMLVM_SOURCE_POSITION("String.java", 176)
329     XMLVM_CHECK_NPE(5)
330     java_lang_Object___INIT___(_r5.o);
331     XMLVM_SOURCE_POSITION("String.java", 58)
332     XMLVM_CHECK_NPE(5)
333     ((java_lang_String*) _r5.o)->fields.java_lang_String.charset_ = _r0.o;
334     XMLVM_SOURCE_POSITION("String.java", 59)
335     XMLVM_CHECK_NPE(5)
336     ((java_lang_String*) _r5.o)->fields.java_lang_String.charset2_ = _r0.o;
337     XMLVM_SOURCE_POSITION("String.java", 60)
338     XMLVM_CHECK_NPE(5)
339     ((java_lang_String*) _r5.o)->fields.java_lang_String.charset3_ = _r0.o;
340     XMLVM_SOURCE_POSITION("String.java", 177)
341     XMLVM_CHECK_NPE(5)
342     ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_ = _r4.i;
343     XMLVM_SOURCE_POSITION("String.java", 178)
344     XMLVM_CHECK_NPE(6)
345     _r0.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
346     _r0.i = _r0.i + 1;
347     XMLVM_CLASS_INIT(char)
348     _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
349     XMLVM_CHECK_NPE(5)
350     ((java_lang_String*) _r5.o)->fields.java_lang_String.value_ = _r0.o;
351     XMLVM_SOURCE_POSITION("String.java", 179)
352     XMLVM_CHECK_NPE(6)
353     _r0.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
354     _r0.i = _r0.i + 1;
355     XMLVM_CHECK_NPE(5)
356     ((java_lang_String*) _r5.o)->fields.java_lang_String.count_ = _r0.i;
357     XMLVM_SOURCE_POSITION("String.java", 180)
358     XMLVM_CHECK_NPE(6)
359     _r0.o = ((java_lang_String*) _r6.o)->fields.java_lang_String.value_;
360     XMLVM_CHECK_NPE(6)
361     _r1.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.offset_;
362     XMLVM_CHECK_NPE(5)
363     _r2.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
364     XMLVM_CHECK_NPE(6)
365     _r3.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
366     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r2.o, _r4.i, _r3.i);
367     XMLVM_SOURCE_POSITION("String.java", 181)
368     XMLVM_CHECK_NPE(5)
369     _r0.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
370     XMLVM_CHECK_NPE(6)
371     _r1.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
372     XMLVM_CHECK_NPE(0)
373     XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
374     ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
375     XMLVM_SOURCE_POSITION("String.java", 182)
376     XMLVM_EXIT_METHOD()
377     return;
378     //XMLVM_END_WRAPPER
379 }
380 
java_lang_String___INIT____byte_1ARRAY(JAVA_OBJECT me,JAVA_OBJECT n1)381 void java_lang_String___INIT____byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
382 {
383     //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____byte_1ARRAY]
384     XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
385     XMLVMElem _r0;
386     XMLVMElem _r1;
387     XMLVMElem _r2;
388     XMLVMElem _r3;
389     _r2.o = me;
390     _r3.o = n1;
391     XMLVM_SOURCE_POSITION("String.java", 194)
392     _r0.i = 0;
393     _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
394     XMLVM_CHECK_NPE(2)
395     java_lang_String___INIT____byte_1ARRAY_int_int(_r2.o, _r3.o, _r0.i, _r1.i);
396     XMLVM_SOURCE_POSITION("String.java", 195)
397     XMLVM_EXIT_METHOD()
398     return;
399     //XMLVM_END_WRAPPER
400 }
401 
java_lang_String___INIT____byte_1ARRAY_int(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2)402 void java_lang_String___INIT____byte_1ARRAY_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
403 {
404     //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____byte_1ARRAY_int]
405     XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
406     XMLVMElem _r0;
407     XMLVMElem _r1;
408     XMLVMElem _r2;
409     XMLVMElem _r3;
410     XMLVMElem _r4;
411     _r2.o = me;
412     _r3.o = n1;
413     _r4.i = n2;
414     XMLVM_SOURCE_POSITION("String.java", 212)
415     _r0.i = 0;
416     _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
417     XMLVM_CHECK_NPE(2)
418     java_lang_String___INIT____byte_1ARRAY_int_int_int(_r2.o, _r3.o, _r4.i, _r0.i, _r1.i);
419     XMLVM_SOURCE_POSITION("String.java", 213)
420     XMLVM_EXIT_METHOD()
421     return;
422     //XMLVM_END_WRAPPER
423 }
424 
java_lang_String___INIT____byte_1ARRAY_int_int(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2,JAVA_INT n3)425 void java_lang_String___INIT____byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
426 {
427     //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____byte_1ARRAY_int_int]
428     XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
429     XMLVMElem _r0;
430     XMLVMElem _r1;
431     XMLVMElem _r2;
432     XMLVMElem _r3;
433     XMLVMElem _r4;
434     XMLVMElem _r5;
435     XMLVMElem _r6;
436     XMLVMElem _r7;
437     XMLVMElem _r8;
438     _r5.o = me;
439     _r6.o = n1;
440     _r7.i = n2;
441     _r8.i = n3;
442     _r3.o = JAVA_NULL;
443     _r4.i = 0;
444     XMLVM_SOURCE_POSITION("String.java", 233)
445     XMLVM_CHECK_NPE(5)
446     java_lang_Object___INIT___(_r5.o);
447     XMLVM_SOURCE_POSITION("String.java", 58)
448     XMLVM_CHECK_NPE(5)
449     ((java_lang_String*) _r5.o)->fields.java_lang_String.charset_ = _r3.o;
450     XMLVM_SOURCE_POSITION("String.java", 59)
451     XMLVM_CHECK_NPE(5)
452     ((java_lang_String*) _r5.o)->fields.java_lang_String.charset2_ = _r3.o;
453     XMLVM_SOURCE_POSITION("String.java", 60)
454     XMLVM_CHECK_NPE(5)
455     ((java_lang_String*) _r5.o)->fields.java_lang_String.charset3_ = _r3.o;
456     XMLVM_SOURCE_POSITION("String.java", 235)
457     if (_r7.i < 0) goto label55;
458     if (_r8.i < 0) goto label55;
459     _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
460     _r3.i = _r3.i - _r7.i;
461     if (_r8.i > _r3.i) goto label55;
462     XMLVM_SOURCE_POSITION("String.java", 236)
463     XMLVM_CHECK_NPE(5)
464     ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_ = _r4.i;
465     XMLVM_SOURCE_POSITION("String.java", 237)
466     XMLVM_CHECK_NPE(5)
467     _r1.o = java_lang_String_defaultCharset__(_r5.o);
468     XMLVM_SOURCE_POSITION("String.java", 239)
469     _r3.o = java_nio_ByteBuffer_wrap___byte_1ARRAY_int_int(_r6.o, _r7.i, _r8.i);
470     XMLVM_CHECK_NPE(1)
471     _r0.o = java_nio_charset_Charset_decode___java_nio_ByteBuffer(_r1.o, _r3.o);
472     XMLVM_SOURCE_POSITION("String.java", 241)
473     //java_nio_CharBuffer_length__[22]
474     XMLVM_CHECK_NPE(0)
475     _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r0.o)->tib->vtable[22])(_r0.o);
476     if (_r2.i <= 0) goto label48;
477     XMLVM_SOURCE_POSITION("String.java", 242)
478     //java_nio_CharBuffer_array__[7]
479     XMLVM_CHECK_NPE(0)
480     _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r0.o)->tib->vtable[7])(_r0.o);
481     XMLVM_CHECK_NPE(5)
482     ((java_lang_String*) _r5.o)->fields.java_lang_String.value_ = _r3.o;
483     XMLVM_SOURCE_POSITION("String.java", 243)
484     XMLVM_CHECK_NPE(5)
485     ((java_lang_String*) _r5.o)->fields.java_lang_String.count_ = _r2.i;
486     label47:;
487     XMLVM_SOURCE_POSITION("String.java", 251)
488     XMLVM_EXIT_METHOD()
489     return;
490     label48:;
491     XMLVM_SOURCE_POSITION("String.java", 245)
492     XMLVM_CHECK_NPE(5)
493     ((java_lang_String*) _r5.o)->fields.java_lang_String.count_ = _r4.i;
494     XMLVM_SOURCE_POSITION("String.java", 246)
495     XMLVM_CLASS_INIT(char)
496     _r3.o = XMLVMArray_createSingleDimension(__CLASS_char, _r4.i);
497     XMLVM_CHECK_NPE(5)
498     ((java_lang_String*) _r5.o)->fields.java_lang_String.value_ = _r3.o;
499     goto label47;
500     label55:;
501     XMLVM_SOURCE_POSITION("String.java", 249)
502 
503 
504     // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
505     XMLVM_RED_CLASS_DEPENDENCY();
506 
507 
508     // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
509     XMLVM_RED_CLASS_DEPENDENCY();
510     XMLVM_THROW_CUSTOM(_r3.o)
511     //XMLVM_END_WRAPPER
512 }
513 
java_lang_String___INIT____byte_1ARRAY_int_int_int(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2,JAVA_INT n3,JAVA_INT n4)514 void java_lang_String___INIT____byte_1ARRAY_int_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3, JAVA_INT n4)
515 {
516     //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____byte_1ARRAY_int_int_int]
517     XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
518     XMLVMElem _r0;
519     XMLVMElem _r1;
520     XMLVMElem _r2;
521     XMLVMElem _r3;
522     XMLVMElem _r4;
523     XMLVMElem _r5;
524     XMLVMElem _r6;
525     XMLVMElem _r7;
526     XMLVMElem _r8;
527     _r4.o = me;
528     _r5.o = n1;
529     _r6.i = n2;
530     _r7.i = n3;
531     _r8.i = n4;
532     _r2.o = JAVA_NULL;
533     XMLVM_SOURCE_POSITION("String.java", 274)
534     XMLVM_CHECK_NPE(4)
535     java_lang_Object___INIT___(_r4.o);
536     XMLVM_SOURCE_POSITION("String.java", 58)
537     XMLVM_CHECK_NPE(4)
538     ((java_lang_String*) _r4.o)->fields.java_lang_String.charset_ = _r2.o;
539     XMLVM_SOURCE_POSITION("String.java", 59)
540     XMLVM_CHECK_NPE(4)
541     ((java_lang_String*) _r4.o)->fields.java_lang_String.charset2_ = _r2.o;
542     XMLVM_SOURCE_POSITION("String.java", 60)
543     XMLVM_CHECK_NPE(4)
544     ((java_lang_String*) _r4.o)->fields.java_lang_String.charset3_ = _r2.o;
545     XMLVM_SOURCE_POSITION("String.java", 277)
546     _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
547     _r2.i = _r2.i - _r7.i;
548     if (_r8.i > _r2.i) goto label50;
549     if (_r7.i < 0) goto label50;
550     if (_r8.i < 0) goto label50;
551     XMLVM_SOURCE_POSITION("String.java", 278)
552     _r2.i = 0;
553     XMLVM_CHECK_NPE(4)
554     ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_ = _r2.i;
555     XMLVM_SOURCE_POSITION("String.java", 279)
556     XMLVM_CLASS_INIT(char)
557     _r2.o = XMLVMArray_createSingleDimension(__CLASS_char, _r8.i);
558     XMLVM_CHECK_NPE(4)
559     ((java_lang_String*) _r4.o)->fields.java_lang_String.value_ = _r2.o;
560     XMLVM_SOURCE_POSITION("String.java", 280)
561     XMLVM_CHECK_NPE(4)
562     ((java_lang_String*) _r4.o)->fields.java_lang_String.count_ = _r8.i;
563     XMLVM_SOURCE_POSITION("String.java", 281)
564     _r6.i = _r6.i << 8;
565     _r0.i = 0;
566     label30:;
567     XMLVM_SOURCE_POSITION("String.java", 282)
568     XMLVM_CHECK_NPE(4)
569     _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
570     if (_r0.i >= _r2.i) goto label56;
571     XMLVM_SOURCE_POSITION("String.java", 283)
572     XMLVM_CHECK_NPE(4)
573     _r2.o = ((java_lang_String*) _r4.o)->fields.java_lang_String.value_;
574     _r1.i = _r7.i + 1;
575     XMLVM_CHECK_NPE(5)
576     XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r7.i);
577     _r3.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i];
578     _r3.i = _r3.i & 255;
579     _r3.i = _r3.i + _r6.i;
580     _r3.i = _r3.i & 0xffff;
581     XMLVM_CHECK_NPE(2)
582     XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
583     ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r3.i;
584     _r0.i = _r0.i + 1;
585     _r7 = _r1;
586     goto label30;
587     label50:;
588     XMLVM_SOURCE_POSITION("String.java", 286)
589 
590 
591     // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
592     XMLVM_RED_CLASS_DEPENDENCY();
593 
594 
595     // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
596     XMLVM_RED_CLASS_DEPENDENCY();
597     XMLVM_THROW_CUSTOM(_r2.o)
598     label56:;
599     XMLVM_SOURCE_POSITION("String.java", 288)
600     XMLVM_EXIT_METHOD()
601     return;
602     //XMLVM_END_WRAPPER
603 }
604 
java_lang_String___INIT____byte_1ARRAY_int_int_java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2,JAVA_INT n3,JAVA_OBJECT n4)605 void java_lang_String___INIT____byte_1ARRAY_int_int_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3, JAVA_OBJECT n4)
606 {
607     //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____byte_1ARRAY_int_int_java_lang_String]
608     XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
609     volatile XMLVMElem _r0;
610     volatile XMLVMElem _r1;
611     volatile XMLVMElem _r2;
612     volatile XMLVMElem _r3;
613     volatile XMLVMElem _r4;
614     volatile XMLVMElem _r5;
615     volatile XMLVMElem _r6;
616     volatile XMLVMElem _r7;
617     volatile XMLVMElem _r8;
618     volatile XMLVMElem _r9;
619     volatile XMLVMElem _r10;
620     _r6.o = me;
621     _r7.o = n1;
622     _r8.i = n2;
623     _r9.i = n3;
624     _r10.o = n4;
625     _r4.o = JAVA_NULL;
626     _r5.i = 0;
627     XMLVM_SOURCE_POSITION("String.java", 310)
628     XMLVM_CHECK_NPE(6)
629     java_lang_Object___INIT___(_r6.o);
630     XMLVM_SOURCE_POSITION("String.java", 58)
631     XMLVM_CHECK_NPE(6)
632     ((java_lang_String*) _r6.o)->fields.java_lang_String.charset_ = _r4.o;
633     XMLVM_SOURCE_POSITION("String.java", 59)
634     XMLVM_CHECK_NPE(6)
635     ((java_lang_String*) _r6.o)->fields.java_lang_String.charset2_ = _r4.o;
636     XMLVM_SOURCE_POSITION("String.java", 60)
637     XMLVM_CHECK_NPE(6)
638     ((java_lang_String*) _r6.o)->fields.java_lang_String.charset3_ = _r4.o;
639     XMLVM_SOURCE_POSITION("String.java", 311)
640     if (_r10.o != JAVA_NULL) goto label19;
641     XMLVM_SOURCE_POSITION("String.java", 312)
642     _r4.o = __NEW_java_lang_NullPointerException();
643     XMLVM_CHECK_NPE(4)
644     java_lang_NullPointerException___INIT___(_r4.o);
645     XMLVM_THROW_CUSTOM(_r4.o)
646     label19:;
647     XMLVM_SOURCE_POSITION("String.java", 315)
648     if (_r8.i < 0) goto label76;
649     if (_r9.i < 0) goto label76;
650     _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r7.o));
651     _r4.i = _r4.i - _r8.i;
652     if (_r9.i > _r4.i) goto label76;
653     XMLVM_SOURCE_POSITION("String.java", 316)
654     XMLVM_CHECK_NPE(6)
655     ((java_lang_String*) _r6.o)->fields.java_lang_String.offset_ = _r5.i;
656     XMLVM_SOURCE_POSITION("String.java", 317)
657     XMLVM_CHECK_NPE(6)
658     _r1.o = java_lang_String_getCharset___java_lang_String(_r6.o, _r10.o);
659     XMLVM_TRY_BEGIN(w3113aaac18b1c33)
660     // Begin try
661     XMLVM_SOURCE_POSITION("String.java", 322)
662     _r4.o = java_nio_ByteBuffer_wrap___byte_1ARRAY_int_int(_r7.o, _r8.i, _r9.i);
663     XMLVM_CHECK_NPE(1)
664     _r0.o = java_nio_charset_Charset_decode___java_nio_ByteBuffer(_r1.o, _r4.o);
665     // End try
666     XMLVM_TRY_END
667     XMLVM_CATCH_BEGIN(w3113aaac18b1c33)
668         XMLVM_CATCH_SPECIFIC(w3113aaac18b1c33,java_lang_Exception,56)
669     XMLVM_CATCH_END(w3113aaac18b1c33)
670     XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac18b1c33)
671     label41:;
672     XMLVM_SOURCE_POSITION("String.java", 328)
673     //java_nio_CharBuffer_length__[22]
674     XMLVM_CHECK_NPE(0)
675     _r3.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r0.o)->tib->vtable[22])(_r0.o);
676     if (_r3.i <= 0) goto label69;
677     XMLVM_SOURCE_POSITION("String.java", 329)
678     //java_nio_CharBuffer_array__[7]
679     XMLVM_CHECK_NPE(0)
680     _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r0.o)->tib->vtable[7])(_r0.o);
681     XMLVM_CHECK_NPE(6)
682     ((java_lang_String*) _r6.o)->fields.java_lang_String.value_ = _r4.o;
683     XMLVM_SOURCE_POSITION("String.java", 330)
684     XMLVM_CHECK_NPE(6)
685     ((java_lang_String*) _r6.o)->fields.java_lang_String.count_ = _r3.i;
686     label55:;
687     XMLVM_SOURCE_POSITION("String.java", 338)
688     XMLVM_EXIT_METHOD()
689     return;
690     label56:;
691     XMLVM_SOURCE_POSITION("String.java", 323)
692     java_lang_Thread* curThread_w3113aaac18b1c48 = (java_lang_Thread*)java_lang_Thread_currentThread__();
693     _r4.o = curThread_w3113aaac18b1c48->fields.java_lang_Thread.xmlvmException_;
694     _r2 = _r4;
695     XMLVM_SOURCE_POSITION("String.java", 326)
696     // "?"
697     _r4.o = xmlvm_create_java_string_from_pool(170);
698     XMLVM_CHECK_NPE(4)
699     _r4.o = java_lang_String_toCharArray__(_r4.o);
700     _r0.o = java_nio_CharBuffer_wrap___char_1ARRAY(_r4.o);
701     goto label41;
702     label69:;
703     XMLVM_SOURCE_POSITION("String.java", 332)
704     XMLVM_CHECK_NPE(6)
705     ((java_lang_String*) _r6.o)->fields.java_lang_String.count_ = _r5.i;
706     XMLVM_SOURCE_POSITION("String.java", 333)
707     XMLVM_CLASS_INIT(char)
708     _r4.o = XMLVMArray_createSingleDimension(__CLASS_char, _r5.i);
709     XMLVM_CHECK_NPE(6)
710     ((java_lang_String*) _r6.o)->fields.java_lang_String.value_ = _r4.o;
711     goto label55;
712     label76:;
713     XMLVM_SOURCE_POSITION("String.java", 336)
714 
715 
716     // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
717     XMLVM_RED_CLASS_DEPENDENCY();
718 
719 
720     // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
721     XMLVM_RED_CLASS_DEPENDENCY();
722     XMLVM_THROW_CUSTOM(_r4.o)
723     //XMLVM_END_WRAPPER
724 }
725 
java_lang_String___INIT____byte_1ARRAY_java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_OBJECT n2)726 void java_lang_String___INIT____byte_1ARRAY_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
727 {
728     //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____byte_1ARRAY_java_lang_String]
729     XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
730     XMLVMElem _r0;
731     XMLVMElem _r1;
732     XMLVMElem _r2;
733     XMLVMElem _r3;
734     XMLVMElem _r4;
735     _r2.o = me;
736     _r3.o = n1;
737     _r4.o = n2;
738     XMLVM_SOURCE_POSITION("String.java", 353)
739     _r0.i = 0;
740     _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
741     XMLVM_CHECK_NPE(2)
742     java_lang_String___INIT____byte_1ARRAY_int_int_java_lang_String(_r2.o, _r3.o, _r0.i, _r1.i, _r4.o);
743     XMLVM_SOURCE_POSITION("String.java", 354)
744     XMLVM_EXIT_METHOD()
745     return;
746     //XMLVM_END_WRAPPER
747 }
748 
java_lang_String___INIT____char_1ARRAY(JAVA_OBJECT me,JAVA_OBJECT n1)749 void java_lang_String___INIT____char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
750 {
751     //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____char_1ARRAY]
752     XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
753     XMLVMElem _r0;
754     XMLVMElem _r1;
755     XMLVMElem _r2;
756     XMLVMElem _r3;
757     _r2.o = me;
758     _r3.o = n1;
759     XMLVM_SOURCE_POSITION("String.java", 367)
760     _r0.i = 0;
761     _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
762     XMLVM_CHECK_NPE(2)
763     java_lang_String___INIT____char_1ARRAY_int_int(_r2.o, _r3.o, _r0.i, _r1.i);
764     XMLVM_SOURCE_POSITION("String.java", 368)
765     XMLVM_EXIT_METHOD()
766     return;
767     //XMLVM_END_WRAPPER
768 }
769 
java_lang_String___INIT____char_1ARRAY_int_int(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2,JAVA_INT n3)770 void java_lang_String___INIT____char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
771 {
772     //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____char_1ARRAY_int_int]
773     XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
774     XMLVMElem _r0;
775     XMLVMElem _r1;
776     XMLVMElem _r2;
777     XMLVMElem _r3;
778     XMLVMElem _r4;
779     XMLVMElem _r5;
780     XMLVMElem _r6;
781     _r3.o = me;
782     _r4.o = n1;
783     _r5.i = n2;
784     _r6.i = n3;
785     _r2.i = 0;
786     _r0.o = JAVA_NULL;
787     XMLVM_SOURCE_POSITION("String.java", 387)
788     XMLVM_CHECK_NPE(3)
789     java_lang_Object___INIT___(_r3.o);
790     XMLVM_SOURCE_POSITION("String.java", 58)
791     XMLVM_CHECK_NPE(3)
792     ((java_lang_String*) _r3.o)->fields.java_lang_String.charset_ = _r0.o;
793     XMLVM_SOURCE_POSITION("String.java", 59)
794     XMLVM_CHECK_NPE(3)
795     ((java_lang_String*) _r3.o)->fields.java_lang_String.charset2_ = _r0.o;
796     XMLVM_SOURCE_POSITION("String.java", 60)
797     XMLVM_CHECK_NPE(3)
798     ((java_lang_String*) _r3.o)->fields.java_lang_String.charset3_ = _r0.o;
799     XMLVM_SOURCE_POSITION("String.java", 390)
800     if (_r5.i < 0) goto label35;
801     if (_r6.i < 0) goto label35;
802     _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
803     _r0.i = _r0.i - _r5.i;
804     if (_r6.i > _r0.i) goto label35;
805     XMLVM_SOURCE_POSITION("String.java", 391)
806     XMLVM_CHECK_NPE(3)
807     ((java_lang_String*) _r3.o)->fields.java_lang_String.offset_ = _r2.i;
808     XMLVM_SOURCE_POSITION("String.java", 392)
809     XMLVM_CLASS_INIT(char)
810     _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r6.i);
811     XMLVM_CHECK_NPE(3)
812     ((java_lang_String*) _r3.o)->fields.java_lang_String.value_ = _r0.o;
813     XMLVM_SOURCE_POSITION("String.java", 393)
814     XMLVM_CHECK_NPE(3)
815     ((java_lang_String*) _r3.o)->fields.java_lang_String.count_ = _r6.i;
816     XMLVM_SOURCE_POSITION("String.java", 394)
817     XMLVM_CHECK_NPE(3)
818     _r0.o = ((java_lang_String*) _r3.o)->fields.java_lang_String.value_;
819     XMLVM_CHECK_NPE(3)
820     _r1.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.count_;
821     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r4.o, _r5.i, _r0.o, _r2.i, _r1.i);
822     XMLVM_SOURCE_POSITION("String.java", 398)
823     XMLVM_EXIT_METHOD()
824     return;
825     label35:;
826     XMLVM_SOURCE_POSITION("String.java", 396)
827 
828 
829     // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
830     XMLVM_RED_CLASS_DEPENDENCY();
831 
832 
833     // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
834     XMLVM_RED_CLASS_DEPENDENCY();
835     XMLVM_THROW_CUSTOM(_r0.o)
836     //XMLVM_END_WRAPPER
837 }
838 
java_lang_String___INIT____int_int_char_1ARRAY(JAVA_OBJECT me,JAVA_INT n1,JAVA_INT n2,JAVA_OBJECT n3)839 void java_lang_String___INIT____int_int_char_1ARRAY(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2, JAVA_OBJECT n3)
840 {
841     //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____int_int_char_1ARRAY]
842     XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
843     XMLVMElem _r0;
844     XMLVMElem _r1;
845     XMLVMElem _r2;
846     XMLVMElem _r3;
847     XMLVMElem _r4;
848     _r1.o = me;
849     _r2.i = n1;
850     _r3.i = n2;
851     _r4.o = n3;
852     _r0.o = JAVA_NULL;
853     XMLVM_SOURCE_POSITION("String.java", 404)
854     XMLVM_CHECK_NPE(1)
855     java_lang_Object___INIT___(_r1.o);
856     XMLVM_SOURCE_POSITION("String.java", 58)
857     XMLVM_CHECK_NPE(1)
858     ((java_lang_String*) _r1.o)->fields.java_lang_String.charset_ = _r0.o;
859     XMLVM_SOURCE_POSITION("String.java", 59)
860     XMLVM_CHECK_NPE(1)
861     ((java_lang_String*) _r1.o)->fields.java_lang_String.charset2_ = _r0.o;
862     XMLVM_SOURCE_POSITION("String.java", 60)
863     XMLVM_CHECK_NPE(1)
864     ((java_lang_String*) _r1.o)->fields.java_lang_String.charset3_ = _r0.o;
865     XMLVM_SOURCE_POSITION("String.java", 405)
866     XMLVM_CHECK_NPE(1)
867     ((java_lang_String*) _r1.o)->fields.java_lang_String.value_ = _r4.o;
868     XMLVM_SOURCE_POSITION("String.java", 406)
869     XMLVM_CHECK_NPE(1)
870     ((java_lang_String*) _r1.o)->fields.java_lang_String.offset_ = _r2.i;
871     XMLVM_SOURCE_POSITION("String.java", 407)
872     XMLVM_CHECK_NPE(1)
873     ((java_lang_String*) _r1.o)->fields.java_lang_String.count_ = _r3.i;
874     XMLVM_SOURCE_POSITION("String.java", 408)
875     XMLVM_EXIT_METHOD()
876     return;
877     //XMLVM_END_WRAPPER
878 }
879 
java_lang_String___INIT____char_1ARRAY_int_int_boolean(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2,JAVA_INT n3,JAVA_BOOLEAN n4)880 void java_lang_String___INIT____char_1ARRAY_int_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3, JAVA_BOOLEAN n4)
881 {
882     //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____char_1ARRAY_int_int_boolean]
883     XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
884     XMLVMElem _r0;
885     XMLVMElem _r1;
886     XMLVMElem _r2;
887     XMLVMElem _r3;
888     XMLVMElem _r4;
889     XMLVMElem _r5;
890     XMLVMElem _r6;
891     XMLVMElem _r7;
892     _r3.o = me;
893     _r4.o = n1;
894     _r5.i = n2;
895     _r6.i = n3;
896     _r7.i = n4;
897     _r1.i = 0;
898     _r0.o = JAVA_NULL;
899     XMLVM_SOURCE_POSITION("String.java", 417)
900     XMLVM_CHECK_NPE(3)
901     java_lang_Object___INIT___(_r3.o);
902     XMLVM_SOURCE_POSITION("String.java", 58)
903     XMLVM_CHECK_NPE(3)
904     ((java_lang_String*) _r3.o)->fields.java_lang_String.charset_ = _r0.o;
905     XMLVM_SOURCE_POSITION("String.java", 59)
906     XMLVM_CHECK_NPE(3)
907     ((java_lang_String*) _r3.o)->fields.java_lang_String.charset2_ = _r0.o;
908     XMLVM_SOURCE_POSITION("String.java", 60)
909     XMLVM_CHECK_NPE(3)
910     ((java_lang_String*) _r3.o)->fields.java_lang_String.charset3_ = _r0.o;
911     XMLVM_SOURCE_POSITION("String.java", 418)
912     if (_r5.i >= 0) goto label38;
913     XMLVM_SOURCE_POSITION("String.java", 419)
914 
915 
916     // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
917     XMLVM_RED_CLASS_DEPENDENCY();
918     _r1.o = __NEW_java_lang_StringBuilder();
919     XMLVM_CHECK_NPE(1)
920     java_lang_StringBuilder___INIT___(_r1.o);
921     // "offset: "
922     _r2.o = xmlvm_create_java_string_from_pool(171);
923     XMLVM_CHECK_NPE(1)
924     _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r2.o);
925     XMLVM_CHECK_NPE(1)
926     _r1.o = java_lang_StringBuilder_append___int(_r1.o, _r5.i);
927     //java_lang_StringBuilder_toString__[5]
928     XMLVM_CHECK_NPE(1)
929     _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
930 
931 
932     // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
933     XMLVM_RED_CLASS_DEPENDENCY();
934     XMLVM_THROW_CUSTOM(_r0.o)
935     label38:;
936     XMLVM_SOURCE_POSITION("String.java", 420)
937     if (_r6.i >= 0) goto label65;
938     XMLVM_SOURCE_POSITION("String.java", 421)
939 
940 
941     // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
942     XMLVM_RED_CLASS_DEPENDENCY();
943     _r1.o = __NEW_java_lang_StringBuilder();
944     XMLVM_CHECK_NPE(1)
945     java_lang_StringBuilder___INIT___(_r1.o);
946     // "count: "
947     _r2.o = xmlvm_create_java_string_from_pool(172);
948     XMLVM_CHECK_NPE(1)
949     _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r2.o);
950     XMLVM_CHECK_NPE(1)
951     _r1.o = java_lang_StringBuilder_append___int(_r1.o, _r6.i);
952     //java_lang_StringBuilder_toString__[5]
953     XMLVM_CHECK_NPE(1)
954     _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
955 
956 
957     // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
958     XMLVM_RED_CLASS_DEPENDENCY();
959     XMLVM_THROW_CUSTOM(_r0.o)
960     label65:;
961     XMLVM_SOURCE_POSITION("String.java", 423)
962     _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
963     _r0.i = _r0.i - _r5.i;
964     if (_r0.i >= _r6.i) goto label96;
965     XMLVM_SOURCE_POSITION("String.java", 424)
966 
967 
968     // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
969     XMLVM_RED_CLASS_DEPENDENCY();
970     _r1.o = __NEW_java_lang_StringBuilder();
971     XMLVM_CHECK_NPE(1)
972     java_lang_StringBuilder___INIT___(_r1.o);
973     // "offset + count: "
974     _r2.o = xmlvm_create_java_string_from_pool(173);
975     XMLVM_CHECK_NPE(1)
976     _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r2.o);
977     _r2.i = _r5.i + _r6.i;
978     XMLVM_CHECK_NPE(1)
979     _r1.o = java_lang_StringBuilder_append___int(_r1.o, _r2.i);
980     //java_lang_StringBuilder_toString__[5]
981     XMLVM_CHECK_NPE(1)
982     _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
983 
984 
985     // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
986     XMLVM_RED_CLASS_DEPENDENCY();
987     XMLVM_THROW_CUSTOM(_r0.o)
988     label96:;
989     XMLVM_SOURCE_POSITION("String.java", 426)
990     if (_r7.i == 0) goto label105;
991     XMLVM_SOURCE_POSITION("String.java", 428)
992     XMLVM_CHECK_NPE(3)
993     ((java_lang_String*) _r3.o)->fields.java_lang_String.value_ = _r4.o;
994     XMLVM_SOURCE_POSITION("String.java", 429)
995     XMLVM_CHECK_NPE(3)
996     ((java_lang_String*) _r3.o)->fields.java_lang_String.offset_ = _r5.i;
997     label102:;
998     XMLVM_SOURCE_POSITION("String.java", 437)
999     XMLVM_CHECK_NPE(3)
1000     ((java_lang_String*) _r3.o)->fields.java_lang_String.count_ = _r6.i;
1001     XMLVM_SOURCE_POSITION("String.java", 438)
1002     XMLVM_EXIT_METHOD()
1003     return;
1004     label105:;
1005     XMLVM_SOURCE_POSITION("String.java", 433)
1006     XMLVM_CLASS_INIT(char)
1007     _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r6.i);
1008     XMLVM_CHECK_NPE(3)
1009     ((java_lang_String*) _r3.o)->fields.java_lang_String.value_ = _r0.o;
1010     XMLVM_SOURCE_POSITION("String.java", 434)
1011     XMLVM_CHECK_NPE(3)
1012     _r0.o = ((java_lang_String*) _r3.o)->fields.java_lang_String.value_;
1013     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r4.o, _r5.i, _r0.o, _r1.i, _r6.i);
1014     XMLVM_SOURCE_POSITION("String.java", 435)
1015     XMLVM_CHECK_NPE(3)
1016     ((java_lang_String*) _r3.o)->fields.java_lang_String.offset_ = _r1.i;
1017     goto label102;
1018     //XMLVM_END_WRAPPER
1019 }
1020 
java_lang_String___INIT____java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1)1021 void java_lang_String___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
1022 {
1023     //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____java_lang_String]
1024     XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
1025     XMLVMElem _r0;
1026     XMLVMElem _r1;
1027     XMLVMElem _r2;
1028     _r1.o = me;
1029     _r2.o = n1;
1030     _r0.o = JAVA_NULL;
1031     XMLVM_SOURCE_POSITION("String.java", 446)
1032     XMLVM_CHECK_NPE(1)
1033     java_lang_Object___INIT___(_r1.o);
1034     XMLVM_SOURCE_POSITION("String.java", 58)
1035     XMLVM_CHECK_NPE(1)
1036     ((java_lang_String*) _r1.o)->fields.java_lang_String.charset_ = _r0.o;
1037     XMLVM_SOURCE_POSITION("String.java", 59)
1038     XMLVM_CHECK_NPE(1)
1039     ((java_lang_String*) _r1.o)->fields.java_lang_String.charset2_ = _r0.o;
1040     XMLVM_SOURCE_POSITION("String.java", 60)
1041     XMLVM_CHECK_NPE(1)
1042     ((java_lang_String*) _r1.o)->fields.java_lang_String.charset3_ = _r0.o;
1043     XMLVM_SOURCE_POSITION("String.java", 447)
1044     XMLVM_CHECK_NPE(2)
1045     _r0.o = ((java_lang_String*) _r2.o)->fields.java_lang_String.value_;
1046     XMLVM_CHECK_NPE(1)
1047     ((java_lang_String*) _r1.o)->fields.java_lang_String.value_ = _r0.o;
1048     XMLVM_SOURCE_POSITION("String.java", 448)
1049     XMLVM_CHECK_NPE(2)
1050     _r0.i = ((java_lang_String*) _r2.o)->fields.java_lang_String.offset_;
1051     XMLVM_CHECK_NPE(1)
1052     ((java_lang_String*) _r1.o)->fields.java_lang_String.offset_ = _r0.i;
1053     XMLVM_SOURCE_POSITION("String.java", 449)
1054     XMLVM_CHECK_NPE(2)
1055     _r0.i = ((java_lang_String*) _r2.o)->fields.java_lang_String.count_;
1056     XMLVM_CHECK_NPE(1)
1057     ((java_lang_String*) _r1.o)->fields.java_lang_String.count_ = _r0.i;
1058     XMLVM_SOURCE_POSITION("String.java", 450)
1059     XMLVM_EXIT_METHOD()
1060     return;
1061     //XMLVM_END_WRAPPER
1062 }
1063 
java_lang_String___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_OBJECT n2)1064 void java_lang_String___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
1065 {
1066     //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____java_lang_String_java_lang_String]
1067     XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
1068     XMLVMElem _r0;
1069     XMLVMElem _r1;
1070     XMLVMElem _r2;
1071     XMLVMElem _r3;
1072     XMLVMElem _r4;
1073     XMLVMElem _r5;
1074     XMLVMElem _r6;
1075     XMLVMElem _r7;
1076     _r5.o = me;
1077     _r6.o = n1;
1078     _r7.o = n2;
1079     _r4.i = 0;
1080     _r0.o = JAVA_NULL;
1081     XMLVM_SOURCE_POSITION("String.java", 456)
1082     XMLVM_CHECK_NPE(5)
1083     java_lang_Object___INIT___(_r5.o);
1084     XMLVM_SOURCE_POSITION("String.java", 58)
1085     XMLVM_CHECK_NPE(5)
1086     ((java_lang_String*) _r5.o)->fields.java_lang_String.charset_ = _r0.o;
1087     XMLVM_SOURCE_POSITION("String.java", 59)
1088     XMLVM_CHECK_NPE(5)
1089     ((java_lang_String*) _r5.o)->fields.java_lang_String.charset2_ = _r0.o;
1090     XMLVM_SOURCE_POSITION("String.java", 60)
1091     XMLVM_CHECK_NPE(5)
1092     ((java_lang_String*) _r5.o)->fields.java_lang_String.charset3_ = _r0.o;
1093     XMLVM_SOURCE_POSITION("String.java", 457)
1094     if (_r6.o != JAVA_NULL) goto label15;
1095     XMLVM_SOURCE_POSITION("String.java", 458)
1096     // "null"
1097     _r6.o = xmlvm_create_java_string_from_pool(63);
1098     label15:;
1099     XMLVM_SOURCE_POSITION("String.java", 460)
1100     if (_r7.o != JAVA_NULL) goto label19;
1101     XMLVM_SOURCE_POSITION("String.java", 461)
1102     // "null"
1103     _r7.o = xmlvm_create_java_string_from_pool(63);
1104     label19:;
1105     XMLVM_SOURCE_POSITION("String.java", 463)
1106     XMLVM_CHECK_NPE(6)
1107     _r0.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
1108     XMLVM_CHECK_NPE(7)
1109     _r1.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.count_;
1110     _r0.i = _r0.i + _r1.i;
1111     XMLVM_CHECK_NPE(5)
1112     ((java_lang_String*) _r5.o)->fields.java_lang_String.count_ = _r0.i;
1113     XMLVM_SOURCE_POSITION("String.java", 464)
1114     XMLVM_CHECK_NPE(5)
1115     _r0.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
1116     XMLVM_CLASS_INIT(char)
1117     _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
1118     XMLVM_CHECK_NPE(5)
1119     ((java_lang_String*) _r5.o)->fields.java_lang_String.value_ = _r0.o;
1120     XMLVM_SOURCE_POSITION("String.java", 465)
1121     XMLVM_CHECK_NPE(5)
1122     ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_ = _r4.i;
1123     XMLVM_SOURCE_POSITION("String.java", 466)
1124     XMLVM_CHECK_NPE(6)
1125     _r0.o = ((java_lang_String*) _r6.o)->fields.java_lang_String.value_;
1126     XMLVM_CHECK_NPE(6)
1127     _r1.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.offset_;
1128     XMLVM_CHECK_NPE(5)
1129     _r2.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
1130     XMLVM_CHECK_NPE(6)
1131     _r3.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
1132     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r2.o, _r4.i, _r3.i);
1133     XMLVM_SOURCE_POSITION("String.java", 467)
1134     XMLVM_CHECK_NPE(7)
1135     _r0.o = ((java_lang_String*) _r7.o)->fields.java_lang_String.value_;
1136     XMLVM_CHECK_NPE(7)
1137     _r1.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.offset_;
1138     XMLVM_CHECK_NPE(5)
1139     _r2.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
1140     XMLVM_CHECK_NPE(6)
1141     _r3.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
1142     XMLVM_CHECK_NPE(7)
1143     _r4.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.count_;
1144     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r2.o, _r3.i, _r4.i);
1145     XMLVM_SOURCE_POSITION("String.java", 468)
1146     XMLVM_EXIT_METHOD()
1147     return;
1148     //XMLVM_END_WRAPPER
1149 }
1150 
java_lang_String___INIT____java_lang_String_java_lang_String_java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_OBJECT n2,JAVA_OBJECT n3)1151 void java_lang_String___INIT____java_lang_String_java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
1152 {
1153     //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____java_lang_String_java_lang_String_java_lang_String]
1154     XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
1155     XMLVMElem _r0;
1156     XMLVMElem _r1;
1157     XMLVMElem _r2;
1158     XMLVMElem _r3;
1159     XMLVMElem _r4;
1160     XMLVMElem _r5;
1161     XMLVMElem _r6;
1162     XMLVMElem _r7;
1163     XMLVMElem _r8;
1164     _r5.o = me;
1165     _r6.o = n1;
1166     _r7.o = n2;
1167     _r8.o = n3;
1168     _r4.i = 0;
1169     _r0.o = JAVA_NULL;
1170     XMLVM_SOURCE_POSITION("String.java", 474)
1171     XMLVM_CHECK_NPE(5)
1172     java_lang_Object___INIT___(_r5.o);
1173     XMLVM_SOURCE_POSITION("String.java", 58)
1174     XMLVM_CHECK_NPE(5)
1175     ((java_lang_String*) _r5.o)->fields.java_lang_String.charset_ = _r0.o;
1176     XMLVM_SOURCE_POSITION("String.java", 59)
1177     XMLVM_CHECK_NPE(5)
1178     ((java_lang_String*) _r5.o)->fields.java_lang_String.charset2_ = _r0.o;
1179     XMLVM_SOURCE_POSITION("String.java", 60)
1180     XMLVM_CHECK_NPE(5)
1181     ((java_lang_String*) _r5.o)->fields.java_lang_String.charset3_ = _r0.o;
1182     XMLVM_SOURCE_POSITION("String.java", 475)
1183     if (_r6.o != JAVA_NULL) goto label15;
1184     XMLVM_SOURCE_POSITION("String.java", 476)
1185     // "null"
1186     _r6.o = xmlvm_create_java_string_from_pool(63);
1187     label15:;
1188     XMLVM_SOURCE_POSITION("String.java", 478)
1189     if (_r7.o != JAVA_NULL) goto label19;
1190     XMLVM_SOURCE_POSITION("String.java", 479)
1191     // "null"
1192     _r7.o = xmlvm_create_java_string_from_pool(63);
1193     label19:;
1194     XMLVM_SOURCE_POSITION("String.java", 481)
1195     if (_r8.o != JAVA_NULL) goto label23;
1196     XMLVM_SOURCE_POSITION("String.java", 482)
1197     // "null"
1198     _r8.o = xmlvm_create_java_string_from_pool(63);
1199     label23:;
1200     XMLVM_SOURCE_POSITION("String.java", 484)
1201     XMLVM_CHECK_NPE(6)
1202     _r0.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
1203     XMLVM_CHECK_NPE(7)
1204     _r1.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.count_;
1205     _r0.i = _r0.i + _r1.i;
1206     XMLVM_CHECK_NPE(8)
1207     _r1.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.count_;
1208     _r0.i = _r0.i + _r1.i;
1209     XMLVM_CHECK_NPE(5)
1210     ((java_lang_String*) _r5.o)->fields.java_lang_String.count_ = _r0.i;
1211     XMLVM_SOURCE_POSITION("String.java", 485)
1212     XMLVM_CHECK_NPE(5)
1213     _r0.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
1214     XMLVM_CLASS_INIT(char)
1215     _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
1216     XMLVM_CHECK_NPE(5)
1217     ((java_lang_String*) _r5.o)->fields.java_lang_String.value_ = _r0.o;
1218     XMLVM_SOURCE_POSITION("String.java", 486)
1219     XMLVM_CHECK_NPE(5)
1220     ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_ = _r4.i;
1221     XMLVM_SOURCE_POSITION("String.java", 487)
1222     XMLVM_CHECK_NPE(6)
1223     _r0.o = ((java_lang_String*) _r6.o)->fields.java_lang_String.value_;
1224     XMLVM_CHECK_NPE(6)
1225     _r1.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.offset_;
1226     XMLVM_CHECK_NPE(5)
1227     _r2.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
1228     XMLVM_CHECK_NPE(6)
1229     _r3.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
1230     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r2.o, _r4.i, _r3.i);
1231     XMLVM_SOURCE_POSITION("String.java", 488)
1232     XMLVM_CHECK_NPE(7)
1233     _r0.o = ((java_lang_String*) _r7.o)->fields.java_lang_String.value_;
1234     XMLVM_CHECK_NPE(7)
1235     _r1.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.offset_;
1236     XMLVM_CHECK_NPE(5)
1237     _r2.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
1238     XMLVM_CHECK_NPE(6)
1239     _r3.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
1240     XMLVM_CHECK_NPE(7)
1241     _r4.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.count_;
1242     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r2.o, _r3.i, _r4.i);
1243     XMLVM_SOURCE_POSITION("String.java", 489)
1244     XMLVM_CHECK_NPE(8)
1245     _r0.o = ((java_lang_String*) _r8.o)->fields.java_lang_String.value_;
1246     XMLVM_CHECK_NPE(8)
1247     _r1.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.offset_;
1248     XMLVM_CHECK_NPE(5)
1249     _r2.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
1250     XMLVM_CHECK_NPE(6)
1251     _r3.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
1252     XMLVM_CHECK_NPE(7)
1253     _r4.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.count_;
1254     _r3.i = _r3.i + _r4.i;
1255     XMLVM_CHECK_NPE(8)
1256     _r4.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.count_;
1257     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r2.o, _r3.i, _r4.i);
1258     XMLVM_SOURCE_POSITION("String.java", 491)
1259     XMLVM_EXIT_METHOD()
1260     return;
1261     //XMLVM_END_WRAPPER
1262 }
1263 
java_lang_String___INIT____java_lang_StringBuffer(JAVA_OBJECT me,JAVA_OBJECT n1)1264 void java_lang_String___INIT____java_lang_StringBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
1265 {
1266     //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____java_lang_StringBuffer]
1267     XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
1268     volatile XMLVMElem _r0;
1269     volatile XMLVMElem _r1;
1270     volatile XMLVMElem _r2;
1271     _r1.o = me;
1272     _r2.o = n1;
1273     _r0.o = JAVA_NULL;
1274     XMLVM_SOURCE_POSITION("String.java", 500)
1275     XMLVM_CHECK_NPE(1)
1276     java_lang_Object___INIT___(_r1.o);
1277     XMLVM_SOURCE_POSITION("String.java", 58)
1278     XMLVM_CHECK_NPE(1)
1279     ((java_lang_String*) _r1.o)->fields.java_lang_String.charset_ = _r0.o;
1280     XMLVM_SOURCE_POSITION("String.java", 59)
1281     XMLVM_CHECK_NPE(1)
1282     ((java_lang_String*) _r1.o)->fields.java_lang_String.charset2_ = _r0.o;
1283     XMLVM_SOURCE_POSITION("String.java", 60)
1284     XMLVM_CHECK_NPE(1)
1285     ((java_lang_String*) _r1.o)->fields.java_lang_String.charset3_ = _r0.o;
1286     XMLVM_SOURCE_POSITION("String.java", 501)
1287     _r0.i = 0;
1288     XMLVM_CHECK_NPE(1)
1289     ((java_lang_String*) _r1.o)->fields.java_lang_String.offset_ = _r0.i;
1290     XMLVM_SOURCE_POSITION("String.java", 502)
1291     java_lang_Object_acquireLockRecursive__(_r2.o);
1292     XMLVM_TRY_BEGIN(w3113aaac27b1c17)
1293     // Begin try
1294     XMLVM_SOURCE_POSITION("String.java", 503)
1295 
1296 
1297     // Red class access removed: java.lang.StringBuffer::getValue
1298     XMLVM_RED_CLASS_DEPENDENCY();
1299     XMLVM_CHECK_NPE(1)
1300     ((java_lang_String*) _r1.o)->fields.java_lang_String.value_ = _r0.o;
1301     XMLVM_SOURCE_POSITION("String.java", 504)
1302 
1303 
1304     // Red class access removed: java.lang.StringBuffer::length
1305     XMLVM_RED_CLASS_DEPENDENCY();
1306     XMLVM_CHECK_NPE(1)
1307     ((java_lang_String*) _r1.o)->fields.java_lang_String.count_ = _r0.i;
1308     XMLVM_SOURCE_POSITION("String.java", 505)
1309     java_lang_Object_releaseLockRecursive__(_r2.o);
1310     XMLVM_SOURCE_POSITION("String.java", 506)
1311     XMLVM_MEMCPY(curThread_w3113aaac27b1c17->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3113aaac27b1c17, sizeof(XMLVM_JMP_BUF));
1312     XMLVM_EXIT_METHOD()
1313     return;
1314     // End try
1315     XMLVM_TRY_END
1316     XMLVM_CATCH_BEGIN(w3113aaac27b1c17)
1317         XMLVM_CATCH_SPECIFIC(w3113aaac27b1c17,java_lang_Object,28)
1318     XMLVM_CATCH_END(w3113aaac27b1c17)
1319     XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac27b1c17)
1320     label28:;
1321     XMLVM_TRY_BEGIN(w3113aaac27b1c19)
1322     // Begin try
1323     java_lang_Thread* curThread_w3113aaac27b1c19aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
1324     _r0.o = curThread_w3113aaac27b1c19aa->fields.java_lang_Thread.xmlvmException_;
1325     java_lang_Object_releaseLockRecursive__(_r2.o);
1326     // End try
1327     XMLVM_TRY_END
1328     XMLVM_CATCH_BEGIN(w3113aaac27b1c19)
1329         XMLVM_CATCH_SPECIFIC(w3113aaac27b1c19,java_lang_Object,28)
1330     XMLVM_CATCH_END(w3113aaac27b1c19)
1331     XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac27b1c19)
1332     XMLVM_THROW_CUSTOM(_r0.o)
1333     //XMLVM_END_WRAPPER
1334 }
1335 
java_lang_String___INIT____int_1ARRAY_int_int(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2,JAVA_INT n3)1336 void java_lang_String___INIT____int_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
1337 {
1338     //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____int_1ARRAY_int_int]
1339     XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
1340     XMLVMElem _r0;
1341     XMLVMElem _r1;
1342     XMLVMElem _r2;
1343     XMLVMElem _r3;
1344     XMLVMElem _r4;
1345     XMLVMElem _r5;
1346     XMLVMElem _r6;
1347     XMLVMElem _r7;
1348     XMLVMElem _r8;
1349     _r5.o = me;
1350     _r6.o = n1;
1351     _r7.i = n2;
1352     _r8.i = n3;
1353     _r3.o = JAVA_NULL;
1354     XMLVM_SOURCE_POSITION("String.java", 529)
1355     XMLVM_CHECK_NPE(5)
1356     java_lang_Object___INIT___(_r5.o);
1357     XMLVM_SOURCE_POSITION("String.java", 58)
1358     XMLVM_CHECK_NPE(5)
1359     ((java_lang_String*) _r5.o)->fields.java_lang_String.charset_ = _r3.o;
1360     XMLVM_SOURCE_POSITION("String.java", 59)
1361     XMLVM_CHECK_NPE(5)
1362     ((java_lang_String*) _r5.o)->fields.java_lang_String.charset2_ = _r3.o;
1363     XMLVM_SOURCE_POSITION("String.java", 60)
1364     XMLVM_CHECK_NPE(5)
1365     ((java_lang_String*) _r5.o)->fields.java_lang_String.charset3_ = _r3.o;
1366     XMLVM_SOURCE_POSITION("String.java", 530)
1367     if (_r7.i < 0) goto label18;
1368     if (_r8.i < 0) goto label18;
1369     _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
1370     _r3.i = _r3.i - _r8.i;
1371     if (_r7.i <= _r3.i) goto label24;
1372     label18:;
1373     XMLVM_SOURCE_POSITION("String.java", 531)
1374     _r3.o = __NEW_java_lang_IndexOutOfBoundsException();
1375     XMLVM_CHECK_NPE(3)
1376     java_lang_IndexOutOfBoundsException___INIT___(_r3.o);
1377     XMLVM_THROW_CUSTOM(_r3.o)
1378     label24:;
1379     XMLVM_SOURCE_POSITION("String.java", 533)
1380     _r3.i = 0;
1381     XMLVM_CHECK_NPE(5)
1382     ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_ = _r3.i;
1383     XMLVM_SOURCE_POSITION("String.java", 534)
1384     _r3.i = _r8.i * 2;
1385     XMLVM_CLASS_INIT(char)
1386     _r3.o = XMLVMArray_createSingleDimension(__CLASS_char, _r3.i);
1387     XMLVM_CHECK_NPE(5)
1388     ((java_lang_String*) _r5.o)->fields.java_lang_String.value_ = _r3.o;
1389     XMLVM_SOURCE_POSITION("String.java", 535)
1390     _r1.i = _r7.i + _r8.i;
1391     _r0.i = 0;
1392     _r2 = _r7;
1393     label37:;
1394     XMLVM_SOURCE_POSITION("String.java", 537)
1395     if (_r2.i >= _r1.i) goto label51;
1396     XMLVM_SOURCE_POSITION("String.java", 538)
1397     XMLVM_CHECK_NPE(6)
1398     XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r2.i);
1399     _r3.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
1400     XMLVM_CHECK_NPE(5)
1401     _r4.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
1402     _r3.i = java_lang_Character_toChars___int_char_1ARRAY_int(_r3.i, _r4.o, _r0.i);
1403     _r0.i = _r0.i + _r3.i;
1404     _r2.i = _r2.i + 1;
1405     goto label37;
1406     label51:;
1407     XMLVM_SOURCE_POSITION("String.java", 540)
1408     XMLVM_CHECK_NPE(5)
1409     ((java_lang_String*) _r5.o)->fields.java_lang_String.count_ = _r0.i;
1410     XMLVM_SOURCE_POSITION("String.java", 541)
1411     XMLVM_EXIT_METHOD()
1412     return;
1413     //XMLVM_END_WRAPPER
1414 }
1415 
java_lang_String___INIT____java_lang_StringBuilder(JAVA_OBJECT me,JAVA_OBJECT n1)1416 void java_lang_String___INIT____java_lang_StringBuilder(JAVA_OBJECT me, JAVA_OBJECT n1)
1417 {
1418     //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____java_lang_StringBuilder]
1419     XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
1420     XMLVMElem _r0;
1421     XMLVMElem _r1;
1422     XMLVMElem _r2;
1423     XMLVMElem _r3;
1424     XMLVMElem _r4;
1425     _r3.o = me;
1426     _r4.o = n1;
1427     _r0.o = JAVA_NULL;
1428     _r2.i = 0;
1429     XMLVM_SOURCE_POSITION("String.java", 553)
1430     XMLVM_CHECK_NPE(3)
1431     java_lang_Object___INIT___(_r3.o);
1432     XMLVM_SOURCE_POSITION("String.java", 58)
1433     XMLVM_CHECK_NPE(3)
1434     ((java_lang_String*) _r3.o)->fields.java_lang_String.charset_ = _r0.o;
1435     XMLVM_SOURCE_POSITION("String.java", 59)
1436     XMLVM_CHECK_NPE(3)
1437     ((java_lang_String*) _r3.o)->fields.java_lang_String.charset2_ = _r0.o;
1438     XMLVM_SOURCE_POSITION("String.java", 60)
1439     XMLVM_CHECK_NPE(3)
1440     ((java_lang_String*) _r3.o)->fields.java_lang_String.charset3_ = _r0.o;
1441     XMLVM_SOURCE_POSITION("String.java", 554)
1442     XMLVM_CHECK_NPE(3)
1443     ((java_lang_String*) _r3.o)->fields.java_lang_String.offset_ = _r2.i;
1444     XMLVM_SOURCE_POSITION("String.java", 555)
1445     XMLVM_CHECK_NPE(4)
1446     _r0.i = java_lang_AbstractStringBuilder_length__(_r4.o);
1447     XMLVM_CHECK_NPE(3)
1448     ((java_lang_String*) _r3.o)->fields.java_lang_String.count_ = _r0.i;
1449     XMLVM_SOURCE_POSITION("String.java", 556)
1450     XMLVM_CHECK_NPE(3)
1451     _r0.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.count_;
1452     XMLVM_CLASS_INIT(char)
1453     _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
1454     XMLVM_CHECK_NPE(3)
1455     ((java_lang_String*) _r3.o)->fields.java_lang_String.value_ = _r0.o;
1456     XMLVM_SOURCE_POSITION("String.java", 557)
1457     XMLVM_CHECK_NPE(3)
1458     _r0.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.count_;
1459     XMLVM_CHECK_NPE(3)
1460     _r1.o = ((java_lang_String*) _r3.o)->fields.java_lang_String.value_;
1461     XMLVM_CHECK_NPE(4)
1462     java_lang_AbstractStringBuilder_getChars___int_int_char_1ARRAY_int(_r4.o, _r2.i, _r0.i, _r1.o, _r2.i);
1463     XMLVM_SOURCE_POSITION("String.java", 558)
1464     XMLVM_EXIT_METHOD()
1465     return;
1466     //XMLVM_END_WRAPPER
1467 }
1468 
java_lang_String___INIT____java_lang_String_int(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2)1469 void java_lang_String___INIT____java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
1470 {
1471     //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____java_lang_String_int]
1472     XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
1473     XMLVMElem _r0;
1474     XMLVMElem _r1;
1475     XMLVMElem _r2;
1476     XMLVMElem _r3;
1477     XMLVMElem _r4;
1478     XMLVMElem _r5;
1479     XMLVMElem _r6;
1480     XMLVMElem _r7;
1481     XMLVMElem _r8;
1482     XMLVMElem _r9;
1483     _r7.o = me;
1484     _r8.o = n1;
1485     _r9.i = n2;
1486     _r6.i = 0;
1487     _r2.o = JAVA_NULL;
1488     XMLVM_SOURCE_POSITION("String.java", 564)
1489     XMLVM_CHECK_NPE(7)
1490     java_lang_Object___INIT___(_r7.o);
1491     XMLVM_SOURCE_POSITION("String.java", 58)
1492     XMLVM_CHECK_NPE(7)
1493     ((java_lang_String*) _r7.o)->fields.java_lang_String.charset_ = _r2.o;
1494     XMLVM_SOURCE_POSITION("String.java", 59)
1495     XMLVM_CHECK_NPE(7)
1496     ((java_lang_String*) _r7.o)->fields.java_lang_String.charset2_ = _r2.o;
1497     XMLVM_SOURCE_POSITION("String.java", 60)
1498     XMLVM_CHECK_NPE(7)
1499     ((java_lang_String*) _r7.o)->fields.java_lang_String.charset3_ = _r2.o;
1500     XMLVM_SOURCE_POSITION("String.java", 565)
1501     if (_r8.o != JAVA_NULL) goto label15;
1502     XMLVM_SOURCE_POSITION("String.java", 566)
1503     // "null"
1504     _r8.o = xmlvm_create_java_string_from_pool(63);
1505     label15:;
1506     XMLVM_SOURCE_POSITION("String.java", 568)
1507     _r1.o = java_lang_String_valueOf___int(_r9.i);
1508     XMLVM_SOURCE_POSITION("String.java", 569)
1509     XMLVM_CHECK_NPE(8)
1510     _r2.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.count_;
1511     XMLVM_CHECK_NPE(1)
1512     _r3.i = ((java_lang_String*) _r1.o)->fields.java_lang_String.count_;
1513     _r0.i = _r2.i + _r3.i;
1514     XMLVM_SOURCE_POSITION("String.java", 570)
1515     XMLVM_CLASS_INIT(char)
1516     _r2.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
1517     XMLVM_CHECK_NPE(7)
1518     ((java_lang_String*) _r7.o)->fields.java_lang_String.value_ = _r2.o;
1519     XMLVM_SOURCE_POSITION("String.java", 571)
1520     XMLVM_CHECK_NPE(7)
1521     ((java_lang_String*) _r7.o)->fields.java_lang_String.offset_ = _r6.i;
1522     XMLVM_SOURCE_POSITION("String.java", 572)
1523     XMLVM_CHECK_NPE(8)
1524     _r2.o = ((java_lang_String*) _r8.o)->fields.java_lang_String.value_;
1525     XMLVM_CHECK_NPE(8)
1526     _r3.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.offset_;
1527     XMLVM_CHECK_NPE(7)
1528     _r4.o = ((java_lang_String*) _r7.o)->fields.java_lang_String.value_;
1529     XMLVM_CHECK_NPE(8)
1530     _r5.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.count_;
1531     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r2.o, _r3.i, _r4.o, _r6.i, _r5.i);
1532     XMLVM_SOURCE_POSITION("String.java", 573)
1533     XMLVM_CHECK_NPE(1)
1534     _r2.o = ((java_lang_String*) _r1.o)->fields.java_lang_String.value_;
1535     XMLVM_CHECK_NPE(1)
1536     _r3.i = ((java_lang_String*) _r1.o)->fields.java_lang_String.offset_;
1537     XMLVM_CHECK_NPE(7)
1538     _r4.o = ((java_lang_String*) _r7.o)->fields.java_lang_String.value_;
1539     XMLVM_CHECK_NPE(8)
1540     _r5.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.count_;
1541     XMLVM_CHECK_NPE(1)
1542     _r6.i = ((java_lang_String*) _r1.o)->fields.java_lang_String.count_;
1543     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r2.o, _r3.i, _r4.o, _r5.i, _r6.i);
1544     XMLVM_SOURCE_POSITION("String.java", 574)
1545     XMLVM_CHECK_NPE(7)
1546     ((java_lang_String*) _r7.o)->fields.java_lang_String.count_ = _r0.i;
1547     XMLVM_SOURCE_POSITION("String.java", 575)
1548     XMLVM_EXIT_METHOD()
1549     return;
1550     //XMLVM_END_WRAPPER
1551 }
1552 
java_lang_String_charAt___int(JAVA_OBJECT me,JAVA_INT n1)1553 JAVA_CHAR java_lang_String_charAt___int(JAVA_OBJECT me, JAVA_INT n1)
1554 {
1555     //XMLVM_BEGIN_WRAPPER[java_lang_String_charAt___int]
1556     XMLVM_ENTER_METHOD("java.lang.String", "charAt", "?")
1557     XMLVMElem _r0;
1558     XMLVMElem _r1;
1559     XMLVMElem _r2;
1560     XMLVMElem _r3;
1561     _r2.o = me;
1562     _r3.i = n1;
1563     XMLVM_SOURCE_POSITION("String.java", 587)
1564     if (_r3.i < 0) goto label14;
1565     XMLVM_CHECK_NPE(2)
1566     _r0.i = ((java_lang_String*) _r2.o)->fields.java_lang_String.count_;
1567     if (_r3.i >= _r0.i) goto label14;
1568     XMLVM_SOURCE_POSITION("String.java", 588)
1569     XMLVM_CHECK_NPE(2)
1570     _r0.o = ((java_lang_String*) _r2.o)->fields.java_lang_String.value_;
1571     XMLVM_CHECK_NPE(2)
1572     _r1.i = ((java_lang_String*) _r2.o)->fields.java_lang_String.offset_;
1573     _r1.i = _r1.i + _r3.i;
1574     XMLVM_CHECK_NPE(0)
1575     XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
1576     _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
1577     XMLVM_EXIT_METHOD()
1578     return _r0.i;
1579     label14:;
1580     XMLVM_SOURCE_POSITION("String.java", 590)
1581 
1582 
1583     // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
1584     XMLVM_RED_CLASS_DEPENDENCY();
1585 
1586 
1587     // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
1588     XMLVM_RED_CLASS_DEPENDENCY();
1589     XMLVM_THROW_CUSTOM(_r0.o)
1590     //XMLVM_END_WRAPPER
1591 }
1592 
java_lang_String_compareValue___char(JAVA_OBJECT me,JAVA_CHAR n1)1593 JAVA_CHAR java_lang_String_compareValue___char(JAVA_OBJECT me, JAVA_CHAR n1)
1594 {
1595     //XMLVM_BEGIN_WRAPPER[java_lang_String_compareValue___char]
1596     XMLVM_ENTER_METHOD("java.lang.String", "compareValue", "?")
1597     XMLVMElem _r0;
1598     XMLVMElem _r1;
1599     XMLVMElem _r2;
1600     _r1.o = me;
1601     _r2.i = n1;
1602     XMLVM_SOURCE_POSITION("String.java", 595)
1603     _r0.i = 128;
1604     if (_r2.i >= _r0.i) goto label18;
1605     XMLVM_SOURCE_POSITION("String.java", 596)
1606     _r0.i = 65;
1607     if (_r0.i > _r2.i) goto label16;
1608     _r0.i = 90;
1609     if (_r2.i > _r0.i) goto label16;
1610     XMLVM_SOURCE_POSITION("String.java", 597)
1611     _r0.i = _r2.i + 32;
1612     _r0.i = _r0.i & 0xffff;
1613     label15:;
1614     XMLVM_SOURCE_POSITION("String.java", 601)
1615     XMLVM_EXIT_METHOD()
1616     return _r0.i;
1617     label16:;
1618     _r0 = _r2;
1619     XMLVM_SOURCE_POSITION("String.java", 599)
1620     goto label15;
1621     label18:;
1622     _r0.i = java_lang_Character_toUpperCase___char(_r2.i);
1623     _r0.i = java_lang_Character_toLowerCase___char(_r0.i);
1624     goto label15;
1625     //XMLVM_END_WRAPPER
1626 }
1627 
java_lang_String_toLowerCase___char(JAVA_OBJECT me,JAVA_CHAR n1)1628 JAVA_CHAR java_lang_String_toLowerCase___char(JAVA_OBJECT me, JAVA_CHAR n1)
1629 {
1630     //XMLVM_BEGIN_WRAPPER[java_lang_String_toLowerCase___char]
1631     XMLVM_ENTER_METHOD("java.lang.String", "toLowerCase", "?")
1632     XMLVMElem _r0;
1633     XMLVMElem _r1;
1634     XMLVMElem _r2;
1635     _r1.o = me;
1636     _r2.i = n1;
1637     XMLVM_SOURCE_POSITION("String.java", 606)
1638     _r0.i = 128;
1639     if (_r2.i >= _r0.i) goto label18;
1640     XMLVM_SOURCE_POSITION("String.java", 607)
1641     _r0.i = 65;
1642     if (_r0.i > _r2.i) goto label16;
1643     _r0.i = 90;
1644     if (_r2.i > _r0.i) goto label16;
1645     XMLVM_SOURCE_POSITION("String.java", 608)
1646     _r0.i = _r2.i + 32;
1647     _r0.i = _r0.i & 0xffff;
1648     label15:;
1649     XMLVM_SOURCE_POSITION("String.java", 612)
1650     XMLVM_EXIT_METHOD()
1651     return _r0.i;
1652     label16:;
1653     _r0 = _r2;
1654     XMLVM_SOURCE_POSITION("String.java", 610)
1655     goto label15;
1656     label18:;
1657     _r0.i = java_lang_Character_toLowerCase___char(_r2.i);
1658     goto label15;
1659     //XMLVM_END_WRAPPER
1660 }
1661 
java_lang_String_toUpperCase___char(JAVA_OBJECT me,JAVA_CHAR n1)1662 JAVA_CHAR java_lang_String_toUpperCase___char(JAVA_OBJECT me, JAVA_CHAR n1)
1663 {
1664     //XMLVM_BEGIN_WRAPPER[java_lang_String_toUpperCase___char]
1665     XMLVM_ENTER_METHOD("java.lang.String", "toUpperCase", "?")
1666     XMLVMElem _r0;
1667     XMLVMElem _r1;
1668     XMLVMElem _r2;
1669     _r1.o = me;
1670     _r2.i = n1;
1671     XMLVM_SOURCE_POSITION("String.java", 617)
1672     _r0.i = 128;
1673     if (_r2.i >= _r0.i) goto label20;
1674     XMLVM_SOURCE_POSITION("String.java", 618)
1675     _r0.i = 97;
1676     if (_r0.i > _r2.i) goto label18;
1677     _r0.i = 122;
1678     if (_r2.i > _r0.i) goto label18;
1679     XMLVM_SOURCE_POSITION("String.java", 619)
1680     _r0.i = 32;
1681     _r0.i = _r2.i - _r0.i;
1682     _r0.i = _r0.i & 0xffff;
1683     label17:;
1684     XMLVM_SOURCE_POSITION("String.java", 623)
1685     XMLVM_EXIT_METHOD()
1686     return _r0.i;
1687     label18:;
1688     _r0 = _r2;
1689     XMLVM_SOURCE_POSITION("String.java", 621)
1690     goto label17;
1691     label20:;
1692     _r0.i = java_lang_Character_toUpperCase___char(_r2.i);
1693     goto label17;
1694     //XMLVM_END_WRAPPER
1695 }
1696 
java_lang_String_compareTo___java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1)1697 JAVA_INT java_lang_String_compareTo___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
1698 {
1699     //XMLVM_BEGIN_WRAPPER[java_lang_String_compareTo___java_lang_String]
1700     XMLVM_ENTER_METHOD("java.lang.String", "compareTo", "?")
1701     XMLVMElem _r0;
1702     XMLVMElem _r1;
1703     XMLVMElem _r2;
1704     XMLVMElem _r3;
1705     XMLVMElem _r4;
1706     XMLVMElem _r5;
1707     XMLVMElem _r6;
1708     XMLVMElem _r7;
1709     XMLVMElem _r8;
1710     XMLVMElem _r9;
1711     XMLVMElem _r10;
1712     XMLVMElem _r11;
1713     _r10.o = me;
1714     _r11.o = n1;
1715     XMLVM_SOURCE_POSITION("String.java", 648)
1716     XMLVM_CHECK_NPE(10)
1717     _r1.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.offset_;
1718     XMLVM_CHECK_NPE(11)
1719     _r3.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.offset_;
1720     XMLVM_SOURCE_POSITION("String.java", 649)
1721     XMLVM_CHECK_NPE(10)
1722     _r7.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.offset_;
1723     XMLVM_CHECK_NPE(10)
1724     _r8.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.count_;
1725     XMLVM_CHECK_NPE(11)
1726     _r9.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
1727     if (_r8.i >= _r9.i) goto label38;
1728     XMLVM_CHECK_NPE(10)
1729     _r8.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.count_;
1730     label14:;
1731     _r0.i = _r7.i + _r8.i;
1732     XMLVM_SOURCE_POSITION("String.java", 650)
1733     XMLVM_CHECK_NPE(11)
1734     _r6.o = ((java_lang_String*) _r11.o)->fields.java_lang_String.value_;
1735     _r4 = _r3;
1736     _r2 = _r1;
1737     label20:;
1738     XMLVM_SOURCE_POSITION("String.java", 651)
1739     if (_r2.i >= _r0.i) goto label41;
1740     XMLVM_SOURCE_POSITION("String.java", 652)
1741     XMLVM_CHECK_NPE(10)
1742     _r7.o = ((java_lang_String*) _r10.o)->fields.java_lang_String.value_;
1743     _r1.i = _r2.i + 1;
1744     XMLVM_CHECK_NPE(7)
1745     XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r2.i);
1746     _r7.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
1747     _r3.i = _r4.i + 1;
1748     XMLVM_CHECK_NPE(6)
1749     XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r4.i);
1750     _r8.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
1751     _r5.i = _r7.i - _r8.i;
1752     if (_r5.i == 0) goto label49;
1753     _r7 = _r5;
1754     label37:;
1755     XMLVM_SOURCE_POSITION("String.java", 653)
1756     XMLVM_SOURCE_POSITION("String.java", 656)
1757     XMLVM_EXIT_METHOD()
1758     return _r7.i;
1759     label38:;
1760     XMLVM_CHECK_NPE(11)
1761     _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
1762     goto label14;
1763     label41:;
1764     XMLVM_CHECK_NPE(10)
1765     _r7.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.count_;
1766     XMLVM_CHECK_NPE(11)
1767     _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
1768     _r7.i = _r7.i - _r8.i;
1769     _r3 = _r4;
1770     _r1 = _r2;
1771     goto label37;
1772     label49:;
1773     _r4 = _r3;
1774     _r2 = _r1;
1775     goto label20;
1776     //XMLVM_END_WRAPPER
1777 }
1778 
java_lang_String_compareToIgnoreCase___java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1)1779 JAVA_INT java_lang_String_compareToIgnoreCase___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
1780 {
1781     //XMLVM_BEGIN_WRAPPER[java_lang_String_compareToIgnoreCase___java_lang_String]
1782     XMLVM_ENTER_METHOD("java.lang.String", "compareToIgnoreCase", "?")
1783     XMLVMElem _r0;
1784     XMLVMElem _r1;
1785     XMLVMElem _r2;
1786     XMLVMElem _r3;
1787     XMLVMElem _r4;
1788     XMLVMElem _r5;
1789     XMLVMElem _r6;
1790     XMLVMElem _r7;
1791     XMLVMElem _r8;
1792     XMLVMElem _r9;
1793     XMLVMElem _r10;
1794     XMLVMElem _r11;
1795     XMLVMElem _r12;
1796     XMLVMElem _r13;
1797     _r12.o = me;
1798     _r13.o = n1;
1799     XMLVM_SOURCE_POSITION("String.java", 680)
1800     XMLVM_CHECK_NPE(12)
1801     _r3.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.offset_;
1802     XMLVM_CHECK_NPE(13)
1803     _r5.i = ((java_lang_String*) _r13.o)->fields.java_lang_String.offset_;
1804     XMLVM_SOURCE_POSITION("String.java", 681)
1805     XMLVM_CHECK_NPE(12)
1806     _r9.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.offset_;
1807     XMLVM_CHECK_NPE(12)
1808     _r10.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.count_;
1809     XMLVM_CHECK_NPE(13)
1810     _r11.i = ((java_lang_String*) _r13.o)->fields.java_lang_String.count_;
1811     if (_r10.i >= _r11.i) goto label37;
1812     XMLVM_CHECK_NPE(12)
1813     _r10.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.count_;
1814     label14:;
1815     _r2.i = _r9.i + _r10.i;
1816     XMLVM_SOURCE_POSITION("String.java", 683)
1817     XMLVM_CHECK_NPE(13)
1818     _r8.o = ((java_lang_String*) _r13.o)->fields.java_lang_String.value_;
1819     _r6 = _r5;
1820     _r4 = _r3;
1821     label20:;
1822     XMLVM_SOURCE_POSITION("String.java", 684)
1823     if (_r4.i >= _r2.i) goto label54;
1824     XMLVM_SOURCE_POSITION("String.java", 685)
1825     XMLVM_CHECK_NPE(12)
1826     _r9.o = ((java_lang_String*) _r12.o)->fields.java_lang_String.value_;
1827     _r3.i = _r4.i + 1;
1828     XMLVM_CHECK_NPE(9)
1829     XMLVM_CHECK_ARRAY_BOUNDS(_r9.o, _r4.i);
1830     _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r9.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
1831     _r5.i = _r6.i + 1;
1832     XMLVM_CHECK_NPE(8)
1833     XMLVM_CHECK_ARRAY_BOUNDS(_r8.o, _r6.i);
1834     _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r8.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
1835     if (_r0.i != _r1.i) goto label40;
1836     _r6 = _r5;
1837     _r4 = _r3;
1838     XMLVM_SOURCE_POSITION("String.java", 686)
1839     goto label20;
1840     label37:;
1841     XMLVM_CHECK_NPE(13)
1842     _r10.i = ((java_lang_String*) _r13.o)->fields.java_lang_String.count_;
1843     goto label14;
1844     label40:;
1845     XMLVM_SOURCE_POSITION("String.java", 688)
1846     XMLVM_CHECK_NPE(12)
1847     _r0.i = java_lang_String_compareValue___char(_r12.o, _r0.i);
1848     XMLVM_SOURCE_POSITION("String.java", 689)
1849     XMLVM_CHECK_NPE(12)
1850     _r1.i = java_lang_String_compareValue___char(_r12.o, _r1.i);
1851     _r7.i = _r0.i - _r1.i;
1852     if (_r7.i == 0) goto label62;
1853     XMLVM_SOURCE_POSITION("String.java", 690)
1854     _r9 = _r7;
1855     label53:;
1856     XMLVM_SOURCE_POSITION("String.java", 691)
1857     XMLVM_SOURCE_POSITION("String.java", 694)
1858     XMLVM_EXIT_METHOD()
1859     return _r9.i;
1860     label54:;
1861     XMLVM_CHECK_NPE(12)
1862     _r9.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.count_;
1863     XMLVM_CHECK_NPE(13)
1864     _r10.i = ((java_lang_String*) _r13.o)->fields.java_lang_String.count_;
1865     _r9.i = _r9.i - _r10.i;
1866     _r5 = _r6;
1867     _r3 = _r4;
1868     goto label53;
1869     label62:;
1870     _r6 = _r5;
1871     _r4 = _r3;
1872     goto label20;
1873     //XMLVM_END_WRAPPER
1874 }
1875 
java_lang_String_concat___java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1)1876 JAVA_OBJECT java_lang_String_concat___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
1877 {
1878     //XMLVM_BEGIN_WRAPPER[java_lang_String_concat___java_lang_String]
1879     XMLVM_ENTER_METHOD("java.lang.String", "concat", "?")
1880     XMLVMElem _r0;
1881     XMLVMElem _r1;
1882     XMLVMElem _r2;
1883     XMLVMElem _r3;
1884     XMLVMElem _r4;
1885     XMLVMElem _r5;
1886     XMLVMElem _r6;
1887     XMLVMElem _r7;
1888     _r6.o = me;
1889     _r7.o = n1;
1890     _r5.i = 0;
1891     XMLVM_SOURCE_POSITION("String.java", 706)
1892     XMLVM_CHECK_NPE(7)
1893     _r1.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.count_;
1894     if (_r1.i != 0) goto label7;
1895     _r1 = _r6;
1896     label6:;
1897     XMLVM_SOURCE_POSITION("String.java", 707)
1898     XMLVM_SOURCE_POSITION("String.java", 716)
1899     XMLVM_EXIT_METHOD()
1900     return _r1.o;
1901     label7:;
1902     XMLVM_SOURCE_POSITION("String.java", 710)
1903     XMLVM_CHECK_NPE(6)
1904     _r1.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
1905     XMLVM_CHECK_NPE(7)
1906     _r2.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.count_;
1907     _r1.i = _r1.i + _r2.i;
1908     XMLVM_CLASS_INIT(char)
1909     _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r1.i);
1910     XMLVM_SOURCE_POSITION("String.java", 711)
1911     XMLVM_CHECK_NPE(6)
1912     _r1.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
1913     if (_r1.i <= 0) goto label27;
1914     XMLVM_SOURCE_POSITION("String.java", 712)
1915     XMLVM_CHECK_NPE(6)
1916     _r1.o = ((java_lang_String*) _r6.o)->fields.java_lang_String.value_;
1917     XMLVM_CHECK_NPE(6)
1918     _r2.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.offset_;
1919     XMLVM_CHECK_NPE(6)
1920     _r3.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
1921     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r2.i, _r0.o, _r5.i, _r3.i);
1922     label27:;
1923     XMLVM_SOURCE_POSITION("String.java", 714)
1924     XMLVM_CHECK_NPE(7)
1925     _r1.o = ((java_lang_String*) _r7.o)->fields.java_lang_String.value_;
1926     XMLVM_CHECK_NPE(7)
1927     _r2.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.offset_;
1928     XMLVM_CHECK_NPE(6)
1929     _r3.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
1930     XMLVM_CHECK_NPE(7)
1931     _r4.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.count_;
1932     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r2.i, _r0.o, _r3.i, _r4.i);
1933     _r1.o = __NEW_java_lang_String();
1934     _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
1935     XMLVM_CHECK_NPE(1)
1936     java_lang_String___INIT____int_int_char_1ARRAY(_r1.o, _r5.i, _r2.i, _r0.o);
1937     goto label6;
1938     //XMLVM_END_WRAPPER
1939 }
1940 
java_lang_String_copyValueOf___char_1ARRAY(JAVA_OBJECT n1)1941 JAVA_OBJECT java_lang_String_copyValueOf___char_1ARRAY(JAVA_OBJECT n1)
1942 {
1943     XMLVM_CLASS_INIT(java_lang_String)
1944     //XMLVM_BEGIN_WRAPPER[java_lang_String_copyValueOf___char_1ARRAY]
1945     XMLVM_ENTER_METHOD("java.lang.String", "copyValueOf", "?")
1946     XMLVMElem _r0;
1947     XMLVMElem _r1;
1948     XMLVMElem _r2;
1949     XMLVMElem _r3;
1950     _r3.o = n1;
1951     XMLVM_SOURCE_POSITION("String.java", 731)
1952     _r0.o = __NEW_java_lang_String();
1953     _r1.i = 0;
1954     _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
1955     XMLVM_CHECK_NPE(0)
1956     java_lang_String___INIT____char_1ARRAY_int_int(_r0.o, _r3.o, _r1.i, _r2.i);
1957     XMLVM_EXIT_METHOD()
1958     return _r0.o;
1959     //XMLVM_END_WRAPPER
1960 }
1961 
java_lang_String_copyValueOf___char_1ARRAY_int_int(JAVA_OBJECT n1,JAVA_INT n2,JAVA_INT n3)1962 JAVA_OBJECT java_lang_String_copyValueOf___char_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
1963 {
1964     XMLVM_CLASS_INIT(java_lang_String)
1965     //XMLVM_BEGIN_WRAPPER[java_lang_String_copyValueOf___char_1ARRAY_int_int]
1966     XMLVM_ENTER_METHOD("java.lang.String", "copyValueOf", "?")
1967     XMLVMElem _r0;
1968     XMLVMElem _r1;
1969     XMLVMElem _r2;
1970     XMLVMElem _r3;
1971     _r1.o = n1;
1972     _r2.i = n2;
1973     _r3.i = n3;
1974     XMLVM_SOURCE_POSITION("String.java", 753)
1975     _r0.o = __NEW_java_lang_String();
1976     XMLVM_CHECK_NPE(0)
1977     java_lang_String___INIT____char_1ARRAY_int_int(_r0.o, _r1.o, _r2.i, _r3.i);
1978     XMLVM_EXIT_METHOD()
1979     return _r0.o;
1980     //XMLVM_END_WRAPPER
1981 }
1982 
java_lang_String_defaultCharset__(JAVA_OBJECT me)1983 JAVA_OBJECT java_lang_String_defaultCharset__(JAVA_OBJECT me)
1984 {
1985     //XMLVM_BEGIN_WRAPPER[java_lang_String_defaultCharset__]
1986     XMLVM_ENTER_METHOD("java.lang.String", "defaultCharset", "?")
1987     volatile XMLVMElem _r0;
1988     volatile XMLVMElem _r1;
1989     volatile XMLVMElem _r2;
1990     volatile XMLVMElem _r3;
1991     volatile XMLVMElem _r4;
1992     _r4.o = me;
1993     XMLVM_SOURCE_POSITION("String.java", 757)
1994     _r1.o = java_lang_String_GET_DefaultCharset();
1995     if (_r1.o != JAVA_NULL) goto label37;
1996     XMLVM_SOURCE_POSITION("String.java", 758)
1997     _r1.o = __NEW_org_apache_harmony_luni_util_PriviAction();
1998     // "file.encoding"
1999     _r2.o = xmlvm_create_java_string_from_pool(174);
2000     // "ISO8859_1"
2001     _r3.o = xmlvm_create_java_string_from_pool(116);
2002     XMLVM_CHECK_NPE(1)
2003     org_apache_harmony_luni_util_PriviAction___INIT____java_lang_String_java_lang_String(_r1.o, _r2.o, _r3.o);
2004     _r0.o = java_security_AccessController_doPrivileged___java_security_PrivilegedAction(_r1.o);
2005     _r0.o = _r0.o;
2006     XMLVM_TRY_BEGIN(w3113aaac40b1c12)
2007     // Begin try
2008     XMLVM_SOURCE_POSITION("String.java", 764)
2009     _r1.o = java_nio_charset_Charset_forName___java_lang_String(_r0.o);
2010     java_lang_String_PUT_DefaultCharset( _r1.o);
2011     // End try
2012     XMLVM_TRY_END
2013     XMLVM_CATCH_BEGIN(w3113aaac40b1c12)
2014     XMLVM_CATCH_END(w3113aaac40b1c12)
2015     XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac40b1c12)
2016     label25:;
2017     XMLVM_SOURCE_POSITION("String.java", 771)
2018     _r1.o = java_lang_String_GET_DefaultCharset();
2019     if (_r1.o != JAVA_NULL) goto label37;
2020     XMLVM_SOURCE_POSITION("String.java", 772)
2021     // "ISO-8859-1"
2022     _r1.o = xmlvm_create_java_string_from_pool(175);
2023     _r1.o = java_nio_charset_Charset_forName___java_lang_String(_r1.o);
2024     java_lang_String_PUT_DefaultCharset( _r1.o);
2025     label37:;
2026     XMLVM_SOURCE_POSITION("String.java", 775)
2027     _r1.o = java_lang_String_GET_DefaultCharset();
2028     XMLVM_EXIT_METHOD()
2029     return _r1.o;
2030     label40:;
2031     XMLVM_SOURCE_POSITION("String.java", 767)
2032     java_lang_Thread* curThread_w3113aaac40b1c27 = (java_lang_Thread*)java_lang_Thread_currentThread__();
2033     _r1.o = curThread_w3113aaac40b1c27->fields.java_lang_Thread.xmlvmException_;
2034     goto label25;
2035     label42:;
2036     XMLVM_SOURCE_POSITION("String.java", 765)
2037     java_lang_Thread* curThread_w3113aaac40b1c31 = (java_lang_Thread*)java_lang_Thread_currentThread__();
2038     _r1.o = curThread_w3113aaac40b1c31->fields.java_lang_Thread.xmlvmException_;
2039     goto label25;
2040     //XMLVM_END_WRAPPER
2041 }
2042 
java_lang_String_endsWith___java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1)2043 JAVA_BOOLEAN java_lang_String_endsWith___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
2044 {
2045     //XMLVM_BEGIN_WRAPPER[java_lang_String_endsWith___java_lang_String]
2046     XMLVM_ENTER_METHOD("java.lang.String", "endsWith", "?")
2047     XMLVMElem _r0;
2048     XMLVMElem _r1;
2049     XMLVMElem _r2;
2050     XMLVMElem _r3;
2051     XMLVMElem _r4;
2052     _r3.o = me;
2053     _r4.o = n1;
2054     XMLVM_SOURCE_POSITION("String.java", 790)
2055     XMLVM_CHECK_NPE(3)
2056     _r0.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.count_;
2057     XMLVM_CHECK_NPE(4)
2058     _r1.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
2059     _r0.i = _r0.i - _r1.i;
2060     _r1.i = 0;
2061     XMLVM_CHECK_NPE(4)
2062     _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
2063     XMLVM_CHECK_NPE(3)
2064     _r0.i = java_lang_String_regionMatches___int_java_lang_String_int_int(_r3.o, _r0.i, _r4.o, _r1.i, _r2.i);
2065     XMLVM_EXIT_METHOD()
2066     return _r0.i;
2067     //XMLVM_END_WRAPPER
2068 }
2069 
java_lang_String_equals___java_lang_Object(JAVA_OBJECT me,JAVA_OBJECT n1)2070 JAVA_BOOLEAN java_lang_String_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
2071 {
2072     //XMLVM_BEGIN_WRAPPER[java_lang_String_equals___java_lang_Object]
2073     XMLVM_ENTER_METHOD("java.lang.String", "equals", "?")
2074     XMLVMElem _r0;
2075     XMLVMElem _r1;
2076     XMLVMElem _r2;
2077     XMLVMElem _r3;
2078     XMLVMElem _r4;
2079     XMLVMElem _r5;
2080     XMLVMElem _r6;
2081     XMLVMElem _r7;
2082     XMLVMElem _r8;
2083     XMLVMElem _r9;
2084     XMLVMElem _r10;
2085     XMLVMElem _r11;
2086     _r10.o = me;
2087     _r11.o = n1;
2088     _r9.i = 1;
2089     _r8.i = 0;
2090     XMLVM_SOURCE_POSITION("String.java", 806)
2091     if (_r11.o != _r10.o) goto label6;
2092     _r5 = _r9;
2093     label5:;
2094     XMLVM_SOURCE_POSITION("String.java", 807)
2095     XMLVM_SOURCE_POSITION("String.java", 823)
2096     XMLVM_EXIT_METHOD()
2097     return _r5.i;
2098     label6:;
2099     XMLVM_SOURCE_POSITION("String.java", 809)
2100     XMLVM_CLASS_INIT(java_lang_String)
2101     _r5.i = XMLVM_ISA(_r11.o, __CLASS_java_lang_String);
2102     if (_r5.i == 0) goto label60;
2103     XMLVM_SOURCE_POSITION("String.java", 810)
2104     _r0 = _r11;
2105     _r0.o = _r0.o;
2106     _r3 = _r0;
2107     XMLVM_SOURCE_POSITION("String.java", 811)
2108     XMLVM_CHECK_NPE(10)
2109     _r1.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.hashCode_;
2110     XMLVM_SOURCE_POSITION("String.java", 812)
2111     XMLVM_CHECK_NPE(3)
2112     _r4.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.hashCode_;
2113     XMLVM_SOURCE_POSITION("String.java", 813)
2114     XMLVM_CHECK_NPE(10)
2115     _r5.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.count_;
2116     XMLVM_CHECK_NPE(3)
2117     _r6.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.count_;
2118     if (_r5.i != _r6.i) goto label30;
2119     if (_r1.i == _r4.i) goto label32;
2120     if (_r1.i == 0) goto label32;
2121     if (_r4.i == 0) goto label32;
2122     label30:;
2123     _r5 = _r8;
2124     XMLVM_SOURCE_POSITION("String.java", 814)
2125     goto label5;
2126     label32:;
2127     XMLVM_SOURCE_POSITION("String.java", 816)
2128     _r2.i = 0;
2129     label33:;
2130     XMLVM_CHECK_NPE(10)
2131     _r5.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.count_;
2132     if (_r2.i >= _r5.i) goto label58;
2133     XMLVM_SOURCE_POSITION("String.java", 817)
2134     XMLVM_CHECK_NPE(10)
2135     _r5.o = ((java_lang_String*) _r10.o)->fields.java_lang_String.value_;
2136     XMLVM_CHECK_NPE(10)
2137     _r6.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.offset_;
2138     _r6.i = _r6.i + _r2.i;
2139     XMLVM_CHECK_NPE(5)
2140     XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r6.i);
2141     _r5.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
2142     XMLVM_CHECK_NPE(3)
2143     _r6.o = ((java_lang_String*) _r3.o)->fields.java_lang_String.value_;
2144     XMLVM_CHECK_NPE(3)
2145     _r7.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.offset_;
2146     _r7.i = _r7.i + _r2.i;
2147     XMLVM_CHECK_NPE(6)
2148     XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r7.i);
2149     _r6.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i];
2150     if (_r5.i == _r6.i) goto label55;
2151     _r5 = _r8;
2152     XMLVM_SOURCE_POSITION("String.java", 818)
2153     goto label5;
2154     label55:;
2155     _r2.i = _r2.i + 1;
2156     goto label33;
2157     label58:;
2158     _r5 = _r9;
2159     XMLVM_SOURCE_POSITION("String.java", 821)
2160     goto label5;
2161     label60:;
2162     _r5 = _r8;
2163     goto label5;
2164     //XMLVM_END_WRAPPER
2165 }
2166 
java_lang_String_equalsIgnoreCase___java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1)2167 JAVA_BOOLEAN java_lang_String_equalsIgnoreCase___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
2168 {
2169     //XMLVM_BEGIN_WRAPPER[java_lang_String_equalsIgnoreCase___java_lang_String]
2170     XMLVM_ENTER_METHOD("java.lang.String", "equalsIgnoreCase", "?")
2171     XMLVMElem _r0;
2172     XMLVMElem _r1;
2173     XMLVMElem _r2;
2174     XMLVMElem _r3;
2175     XMLVMElem _r4;
2176     XMLVMElem _r5;
2177     XMLVMElem _r6;
2178     XMLVMElem _r7;
2179     XMLVMElem _r8;
2180     XMLVMElem _r9;
2181     XMLVMElem _r10;
2182     XMLVMElem _r11;
2183     XMLVMElem _r12;
2184     XMLVMElem _r13;
2185     _r12.o = me;
2186     _r13.o = n1;
2187     _r11.i = 1;
2188     _r10.i = 0;
2189     XMLVM_SOURCE_POSITION("String.java", 836)
2190     if (_r13.o != _r12.o) goto label6;
2191     _r8 = _r11;
2192     label5:;
2193     XMLVM_SOURCE_POSITION("String.java", 837)
2194     XMLVM_SOURCE_POSITION("String.java", 855)
2195     XMLVM_EXIT_METHOD()
2196     return _r8.i;
2197     label6:;
2198     XMLVM_SOURCE_POSITION("String.java", 839)
2199     if (_r13.o == JAVA_NULL) goto label14;
2200     XMLVM_CHECK_NPE(12)
2201     _r8.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.count_;
2202     XMLVM_CHECK_NPE(13)
2203     _r9.i = ((java_lang_String*) _r13.o)->fields.java_lang_String.count_;
2204     if (_r8.i == _r9.i) goto label16;
2205     label14:;
2206     _r8 = _r10;
2207     XMLVM_SOURCE_POSITION("String.java", 840)
2208     goto label5;
2209     label16:;
2210     XMLVM_SOURCE_POSITION("String.java", 843)
2211     XMLVM_CHECK_NPE(12)
2212     _r3.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.offset_;
2213     XMLVM_CHECK_NPE(13)
2214     _r5.i = ((java_lang_String*) _r13.o)->fields.java_lang_String.offset_;
2215     XMLVM_SOURCE_POSITION("String.java", 844)
2216     XMLVM_CHECK_NPE(12)
2217     _r8.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.offset_;
2218     XMLVM_CHECK_NPE(12)
2219     _r9.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.count_;
2220     _r2.i = _r8.i + _r9.i;
2221     XMLVM_SOURCE_POSITION("String.java", 846)
2222     XMLVM_CHECK_NPE(13)
2223     _r7.o = ((java_lang_String*) _r13.o)->fields.java_lang_String.value_;
2224     _r6 = _r5;
2225     _r4 = _r3;
2226     label30:;
2227     XMLVM_SOURCE_POSITION("String.java", 847)
2228     if (_r4.i >= _r2.i) goto label66;
2229     XMLVM_SOURCE_POSITION("String.java", 848)
2230     XMLVM_CHECK_NPE(12)
2231     _r8.o = ((java_lang_String*) _r12.o)->fields.java_lang_String.value_;
2232     _r3.i = _r4.i + 1;
2233     XMLVM_CHECK_NPE(8)
2234     XMLVM_CHECK_ARRAY_BOUNDS(_r8.o, _r4.i);
2235     _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r8.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
2236     _r5.i = _r6.i + 1;
2237     XMLVM_CHECK_NPE(7)
2238     XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r6.i);
2239     _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
2240     if (_r0.i == _r1.i) goto label68;
2241     XMLVM_CHECK_NPE(12)
2242     _r8.i = java_lang_String_toUpperCase___char(_r12.o, _r0.i);
2243     XMLVM_CHECK_NPE(12)
2244     _r9.i = java_lang_String_toUpperCase___char(_r12.o, _r1.i);
2245     if (_r8.i == _r9.i) goto label68;
2246     XMLVM_CHECK_NPE(12)
2247     _r8.i = java_lang_String_toLowerCase___char(_r12.o, _r0.i);
2248     XMLVM_CHECK_NPE(12)
2249     _r9.i = java_lang_String_toLowerCase___char(_r12.o, _r1.i);
2250     if (_r8.i == _r9.i) goto label68;
2251     _r8 = _r10;
2252     XMLVM_SOURCE_POSITION("String.java", 852)
2253     goto label5;
2254     label66:;
2255     _r8 = _r11;
2256     goto label5;
2257     label68:;
2258     _r6 = _r5;
2259     _r4 = _r3;
2260     goto label30;
2261     //XMLVM_END_WRAPPER
2262 }
2263 
java_lang_String_getBytes__(JAVA_OBJECT me)2264 JAVA_OBJECT java_lang_String_getBytes__(JAVA_OBJECT me)
2265 {
2266     //XMLVM_BEGIN_WRAPPER[java_lang_String_getBytes__]
2267     XMLVM_ENTER_METHOD("java.lang.String", "getBytes", "?")
2268     XMLVMElem _r0;
2269     XMLVMElem _r1;
2270     XMLVMElem _r2;
2271     XMLVMElem _r3;
2272     XMLVMElem _r4;
2273     XMLVMElem _r5;
2274     XMLVMElem _r6;
2275     _r6.o = me;
2276     XMLVM_SOURCE_POSITION("String.java", 867)
2277     XMLVM_CHECK_NPE(6)
2278     _r2.o = java_lang_String_defaultCharset__(_r6.o);
2279     XMLVM_CHECK_NPE(6)
2280     _r3.o = ((java_lang_String*) _r6.o)->fields.java_lang_String.value_;
2281     XMLVM_CHECK_NPE(6)
2282     _r4.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.offset_;
2283     XMLVM_CHECK_NPE(6)
2284     _r5.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
2285     _r3.o = java_nio_CharBuffer_wrap___char_1ARRAY_int_int(_r3.o, _r4.i, _r5.i);
2286     XMLVM_CHECK_NPE(2)
2287     _r0.o = java_nio_charset_Charset_encode___java_nio_CharBuffer(_r2.o, _r3.o);
2288     XMLVM_SOURCE_POSITION("String.java", 869)
2289     XMLVM_CHECK_NPE(0)
2290     _r2.i = java_nio_Buffer_limit__(_r0.o);
2291     XMLVM_CLASS_INIT(byte)
2292     _r1.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r2.i);
2293     XMLVM_SOURCE_POSITION("String.java", 870)
2294     XMLVM_CHECK_NPE(0)
2295     java_nio_ByteBuffer_get___byte_1ARRAY(_r0.o, _r1.o);
2296     XMLVM_SOURCE_POSITION("String.java", 871)
2297     XMLVM_EXIT_METHOD()
2298     return _r1.o;
2299     //XMLVM_END_WRAPPER
2300 }
2301 
java_lang_String_getBytes___int_int_byte_1ARRAY_int(JAVA_OBJECT me,JAVA_INT n1,JAVA_INT n2,JAVA_OBJECT n3,JAVA_INT n4)2302 void java_lang_String_getBytes___int_int_byte_1ARRAY_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4)
2303 {
2304     //XMLVM_BEGIN_WRAPPER[java_lang_String_getBytes___int_int_byte_1ARRAY_int]
2305     XMLVM_ENTER_METHOD("java.lang.String", "getBytes", "?")
2306     volatile XMLVMElem _r0;
2307     volatile XMLVMElem _r1;
2308     volatile XMLVMElem _r2;
2309     volatile XMLVMElem _r3;
2310     volatile XMLVMElem _r4;
2311     volatile XMLVMElem _r5;
2312     volatile XMLVMElem _r6;
2313     volatile XMLVMElem _r7;
2314     volatile XMLVMElem _r8;
2315     _r4.o = me;
2316     _r5.i = n1;
2317     _r6.i = n2;
2318     _r7.o = n3;
2319     _r8.i = n4;
2320     XMLVM_SOURCE_POSITION("String.java", 895)
2321     if (_r5.i < 0) goto label39;
2322     if (_r5.i > _r6.i) goto label39;
2323     XMLVM_CHECK_NPE(4)
2324     _r3.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
2325     if (_r6.i > _r3.i) goto label39;
2326     XMLVM_SOURCE_POSITION("String.java", 896)
2327     XMLVM_CHECK_NPE(4)
2328     _r3.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
2329     _r6.i = _r6.i + _r3.i;
2330     XMLVM_TRY_BEGIN(w3113aaac45b1c14)
2331     // Begin try
2332     XMLVM_SOURCE_POSITION("String.java", 898)
2333     XMLVM_CHECK_NPE(4)
2334     _r3.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
2335     _r1.i = _r3.i + _r5.i;
2336     _r2 = _r8;
2337     // End try
2338     XMLVM_TRY_END
2339     XMLVM_CATCH_BEGIN(w3113aaac45b1c14)
2340     XMLVM_CATCH_END(w3113aaac45b1c14)
2341     XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac45b1c14)
2342     label16:;
2343     XMLVM_TRY_BEGIN(w3113aaac45b1c16)
2344     // Begin try
2345     if (_r1.i >= _r6.i) { XMLVM_MEMCPY(curThread_w3113aaac45b1c16->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3113aaac45b1c16, sizeof(XMLVM_JMP_BUF)); goto label45; };
2346     XMLVM_SOURCE_POSITION("String.java", 899)
2347     _r8.i = _r2.i + 1;
2348     XMLVM_CHECK_NPE(4)
2349     _r3.o = ((java_lang_String*) _r4.o)->fields.java_lang_String.value_;
2350     XMLVM_CHECK_NPE(3)
2351     XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r1.i);
2352     _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
2353     _r3.i = (_r3.i << 24) >> 24;
2354     XMLVM_CHECK_NPE(7)
2355     XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r2.i);
2356     ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r3.i;
2357     // End try
2358     XMLVM_TRY_END
2359     XMLVM_CATCH_BEGIN(w3113aaac45b1c16)
2360     XMLVM_CATCH_END(w3113aaac45b1c16)
2361     XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac45b1c16)
2362     _r1.i = _r1.i + 1;
2363     _r2 = _r8;
2364     goto label16;
2365     label31:;
2366     XMLVM_SOURCE_POSITION("String.java", 901)
2367     java_lang_Thread* curThread_w3113aaac45b1c22 = (java_lang_Thread*)java_lang_Thread_currentThread__();
2368     _r3.o = curThread_w3113aaac45b1c22->fields.java_lang_Thread.xmlvmException_;
2369     _r0 = _r3;
2370     XMLVM_SOURCE_POSITION("String.java", 902)
2371 
2372 
2373     // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
2374     XMLVM_RED_CLASS_DEPENDENCY();
2375 
2376 
2377     // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
2378     XMLVM_RED_CLASS_DEPENDENCY();
2379     XMLVM_THROW_CUSTOM(_r3.o)
2380     label39:;
2381     XMLVM_SOURCE_POSITION("String.java", 905)
2382 
2383 
2384     // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
2385     XMLVM_RED_CLASS_DEPENDENCY();
2386 
2387 
2388     // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
2389     XMLVM_RED_CLASS_DEPENDENCY();
2390     XMLVM_THROW_CUSTOM(_r3.o)
2391     label45:;
2392     XMLVM_SOURCE_POSITION("String.java", 907)
2393     XMLVM_EXIT_METHOD()
2394     return;
2395     //XMLVM_END_WRAPPER
2396 }
2397 
java_lang_String_getBytes___java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1)2398 JAVA_OBJECT java_lang_String_getBytes___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
2399 {
2400     //XMLVM_BEGIN_WRAPPER[java_lang_String_getBytes___java_lang_String]
2401     XMLVM_ENTER_METHOD("java.lang.String", "getBytes", "?")
2402     XMLVMElem _r0;
2403     XMLVMElem _r1;
2404     XMLVMElem _r2;
2405     XMLVMElem _r3;
2406     XMLVMElem _r4;
2407     XMLVMElem _r5;
2408     XMLVMElem _r6;
2409     XMLVMElem _r7;
2410     _r6.o = me;
2411     _r7.o = n1;
2412     XMLVM_SOURCE_POSITION("String.java", 919)
2413     XMLVM_CHECK_NPE(6)
2414     _r2.o = java_lang_String_getCharset___java_lang_String(_r6.o, _r7.o);
2415     XMLVM_CHECK_NPE(6)
2416     _r3.o = ((java_lang_String*) _r6.o)->fields.java_lang_String.value_;
2417     XMLVM_CHECK_NPE(6)
2418     _r4.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.offset_;
2419     XMLVM_CHECK_NPE(6)
2420     _r5.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
2421     _r3.o = java_nio_CharBuffer_wrap___char_1ARRAY_int_int(_r3.o, _r4.i, _r5.i);
2422     XMLVM_CHECK_NPE(2)
2423     _r0.o = java_nio_charset_Charset_encode___java_nio_CharBuffer(_r2.o, _r3.o);
2424     XMLVM_SOURCE_POSITION("String.java", 921)
2425     XMLVM_CHECK_NPE(0)
2426     _r2.i = java_nio_Buffer_limit__(_r0.o);
2427     XMLVM_CLASS_INIT(byte)
2428     _r1.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r2.i);
2429     XMLVM_SOURCE_POSITION("String.java", 922)
2430     XMLVM_CHECK_NPE(0)
2431     java_nio_ByteBuffer_get___byte_1ARRAY(_r0.o, _r1.o);
2432     XMLVM_SOURCE_POSITION("String.java", 923)
2433     XMLVM_EXIT_METHOD()
2434     return _r1.o;
2435     //XMLVM_END_WRAPPER
2436 }
2437 
java_lang_String_getBytes___java_nio_charset_Charset(JAVA_OBJECT me,JAVA_OBJECT n1)2438 JAVA_OBJECT java_lang_String_getBytes___java_nio_charset_Charset(JAVA_OBJECT me, JAVA_OBJECT n1)
2439 {
2440     //XMLVM_BEGIN_WRAPPER[java_lang_String_getBytes___java_nio_charset_Charset]
2441     XMLVM_ENTER_METHOD("java.lang.String", "getBytes", "?")
2442     XMLVMElem _r0;
2443     XMLVMElem _r1;
2444     XMLVMElem _r2;
2445     XMLVMElem _r3;
2446     XMLVMElem _r4;
2447     XMLVMElem _r5;
2448     XMLVMElem _r6;
2449     _r5.o = me;
2450     _r6.o = n1;
2451     XMLVM_SOURCE_POSITION("String.java", 945)
2452     XMLVM_CHECK_NPE(5)
2453     _r2.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
2454     XMLVM_CHECK_NPE(5)
2455     _r3.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
2456     XMLVM_CHECK_NPE(5)
2457     _r4.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
2458     _r2.o = java_nio_CharBuffer_wrap___char_1ARRAY_int_int(_r2.o, _r3.i, _r4.i);
2459     XMLVM_CHECK_NPE(6)
2460     _r0.o = java_nio_charset_Charset_encode___java_nio_CharBuffer(_r6.o, _r2.o);
2461     XMLVM_SOURCE_POSITION("String.java", 947)
2462     XMLVM_CHECK_NPE(0)
2463     _r2.i = java_nio_Buffer_limit__(_r0.o);
2464     XMLVM_CLASS_INIT(byte)
2465     _r1.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r2.i);
2466     XMLVM_SOURCE_POSITION("String.java", 948)
2467     XMLVM_CHECK_NPE(0)
2468     java_nio_ByteBuffer_get___byte_1ARRAY(_r0.o, _r1.o);
2469     XMLVM_SOURCE_POSITION("String.java", 949)
2470     XMLVM_EXIT_METHOD()
2471     return _r1.o;
2472     //XMLVM_END_WRAPPER
2473 }
2474 
java_lang_String_getCharset___java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1)2475 JAVA_OBJECT java_lang_String_getCharset___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
2476 {
2477     //XMLVM_BEGIN_WRAPPER[java_lang_String_getCharset___java_lang_String]
2478     XMLVM_ENTER_METHOD("java.lang.String", "getCharset", "?")
2479     volatile XMLVMElem _r0;
2480     volatile XMLVMElem _r1;
2481     volatile XMLVMElem _r2;
2482     volatile XMLVMElem _r3;
2483     volatile XMLVMElem _r4;
2484     _r3.o = me;
2485     _r4.o = n1;
2486     XMLVM_SOURCE_POSITION("String.java", 954)
2487     _r0.o = java_lang_String_GET_lastCharset();
2488     if (_r0.o == JAVA_NULL) goto label14;
2489     XMLVM_SOURCE_POSITION("String.java", 955)
2490     XMLVM_CHECK_NPE(0)
2491     _r2.o = java_nio_charset_Charset_name__(_r0.o);
2492     XMLVM_CHECK_NPE(4)
2493     _r2.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r4.o, _r2.o);
2494     if (_r2.i != 0) goto label20;
2495     label14:;
2496     XMLVM_TRY_BEGIN(w3113aaac48b1c11)
2497     // Begin try
2498     XMLVM_SOURCE_POSITION("String.java", 957)
2499     _r0.o = java_nio_charset_Charset_forName___java_lang_String(_r4.o);
2500     // End try
2501     XMLVM_TRY_END
2502     XMLVM_CATCH_BEGIN(w3113aaac48b1c11)
2503     XMLVM_CATCH_END(w3113aaac48b1c11)
2504     XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac48b1c11)
2505     XMLVM_SOURCE_POSITION("String.java", 965)
2506     java_lang_String_PUT_lastCharset( _r0.o);
2507     label20:;
2508     XMLVM_SOURCE_POSITION("String.java", 967)
2509     XMLVM_EXIT_METHOD()
2510     return _r0.o;
2511     label21:;
2512     XMLVM_SOURCE_POSITION("String.java", 958)
2513     java_lang_Thread* curThread_w3113aaac48b1c19 = (java_lang_Thread*)java_lang_Thread_currentThread__();
2514     _r1.o = curThread_w3113aaac48b1c19->fields.java_lang_Thread.xmlvmException_;
2515     XMLVM_SOURCE_POSITION("String.java", 959)
2516 
2517 
2518     // Red class access removed: java.io.UnsupportedEncodingException::new-instance
2519     XMLVM_RED_CLASS_DEPENDENCY();
2520 
2521 
2522     // Red class access removed: java.io.UnsupportedEncodingException::<init>
2523     XMLVM_RED_CLASS_DEPENDENCY();
2524 
2525 
2526     // Red class access removed: java.io.UnsupportedEncodingException::initCause
2527     XMLVM_RED_CLASS_DEPENDENCY();
2528 
2529 
2530     // Red class access removed: java.io.UnsupportedEncodingException::check-cast
2531     XMLVM_RED_CLASS_DEPENDENCY();
2532 
2533 
2534     // Red class access removed: java.io.UnsupportedEncodingException::check-cast
2535     XMLVM_RED_CLASS_DEPENDENCY();
2536     XMLVM_THROW_CUSTOM(_r3.o)
2537     label36:;
2538     XMLVM_SOURCE_POSITION("String.java", 961)
2539     java_lang_Thread* curThread_w3113aaac48b1c29 = (java_lang_Thread*)java_lang_Thread_currentThread__();
2540     _r1.o = curThread_w3113aaac48b1c29->fields.java_lang_Thread.xmlvmException_;
2541     XMLVM_SOURCE_POSITION("String.java", 962)
2542 
2543 
2544     // Red class access removed: java.io.UnsupportedEncodingException::new-instance
2545     XMLVM_RED_CLASS_DEPENDENCY();
2546 
2547 
2548     // Red class access removed: java.io.UnsupportedEncodingException::<init>
2549     XMLVM_RED_CLASS_DEPENDENCY();
2550 
2551 
2552     // Red class access removed: java.io.UnsupportedEncodingException::initCause
2553     XMLVM_RED_CLASS_DEPENDENCY();
2554 
2555 
2556     // Red class access removed: java.io.UnsupportedEncodingException::check-cast
2557     XMLVM_RED_CLASS_DEPENDENCY();
2558 
2559 
2560     // Red class access removed: java.io.UnsupportedEncodingException::check-cast
2561     XMLVM_RED_CLASS_DEPENDENCY();
2562     XMLVM_THROW_CUSTOM(_r3.o)
2563     //XMLVM_END_WRAPPER
2564 }
2565 
java_lang_String_getChars___int_int_char_1ARRAY_int(JAVA_OBJECT me,JAVA_INT n1,JAVA_INT n2,JAVA_OBJECT n3,JAVA_INT n4)2566 void java_lang_String_getChars___int_int_char_1ARRAY_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4)
2567 {
2568     //XMLVM_BEGIN_WRAPPER[java_lang_String_getChars___int_int_char_1ARRAY_int]
2569     XMLVM_ENTER_METHOD("java.lang.String", "getChars", "?")
2570     XMLVMElem _r0;
2571     XMLVMElem _r1;
2572     XMLVMElem _r2;
2573     XMLVMElem _r3;
2574     XMLVMElem _r4;
2575     XMLVMElem _r5;
2576     XMLVMElem _r6;
2577     XMLVMElem _r7;
2578     _r3.o = me;
2579     _r4.i = n1;
2580     _r5.i = n2;
2581     _r6.o = n3;
2582     _r7.i = n4;
2583     XMLVM_SOURCE_POSITION("String.java", 992)
2584     if (_r4.i < 0) goto label19;
2585     if (_r4.i > _r5.i) goto label19;
2586     XMLVM_CHECK_NPE(3)
2587     _r0.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.count_;
2588     if (_r5.i > _r0.i) goto label19;
2589     XMLVM_SOURCE_POSITION("String.java", 993)
2590     XMLVM_CHECK_NPE(3)
2591     _r0.o = ((java_lang_String*) _r3.o)->fields.java_lang_String.value_;
2592     XMLVM_CHECK_NPE(3)
2593     _r1.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.offset_;
2594     _r1.i = _r1.i + _r4.i;
2595     _r2.i = _r5.i - _r4.i;
2596     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r6.o, _r7.i, _r2.i);
2597     XMLVM_SOURCE_POSITION("String.java", 997)
2598     XMLVM_EXIT_METHOD()
2599     return;
2600     label19:;
2601     XMLVM_SOURCE_POSITION("String.java", 995)
2602 
2603 
2604     // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
2605     XMLVM_RED_CLASS_DEPENDENCY();
2606 
2607 
2608     // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
2609     XMLVM_RED_CLASS_DEPENDENCY();
2610     XMLVM_THROW_CUSTOM(_r0.o)
2611     //XMLVM_END_WRAPPER
2612 }
2613 
java_lang_String_hashCode__(JAVA_OBJECT me)2614 JAVA_INT java_lang_String_hashCode__(JAVA_OBJECT me)
2615 {
2616     //XMLVM_BEGIN_WRAPPER[java_lang_String_hashCode__]
2617     XMLVM_ENTER_METHOD("java.lang.String", "hashCode", "?")
2618     XMLVMElem _r0;
2619     XMLVMElem _r1;
2620     XMLVMElem _r2;
2621     XMLVMElem _r3;
2622     XMLVMElem _r4;
2623     _r4.o = me;
2624     XMLVM_SOURCE_POSITION("String.java", 1001)
2625     XMLVM_CHECK_NPE(4)
2626     _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.hashCode_;
2627     if (_r2.i != 0) goto label34;
2628     XMLVM_SOURCE_POSITION("String.java", 1002)
2629     XMLVM_CHECK_NPE(4)
2630     _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
2631     if (_r2.i != 0) goto label10;
2632     XMLVM_SOURCE_POSITION("String.java", 1003)
2633     _r2.i = 0;
2634     label9:;
2635     XMLVM_SOURCE_POSITION("String.java", 1011)
2636     XMLVM_EXIT_METHOD()
2637     return _r2.i;
2638     label10:;
2639     XMLVM_SOURCE_POSITION("String.java", 1005)
2640     _r0.i = 0;
2641     XMLVM_SOURCE_POSITION("String.java", 1006)
2642     XMLVM_CHECK_NPE(4)
2643     _r1.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
2644     label13:;
2645     XMLVM_CHECK_NPE(4)
2646     _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
2647     XMLVM_CHECK_NPE(4)
2648     _r3.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
2649     _r2.i = _r2.i + _r3.i;
2650     if (_r1.i >= _r2.i) goto label32;
2651     XMLVM_SOURCE_POSITION("String.java", 1007)
2652     XMLVM_CHECK_NPE(4)
2653     _r2.o = ((java_lang_String*) _r4.o)->fields.java_lang_String.value_;
2654     XMLVM_CHECK_NPE(2)
2655     XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
2656     _r2.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
2657     _r3.i = _r0.i << 5;
2658     _r3.i = _r3.i - _r0.i;
2659     _r0.i = _r2.i + _r3.i;
2660     _r1.i = _r1.i + 1;
2661     goto label13;
2662     label32:;
2663     XMLVM_SOURCE_POSITION("String.java", 1009)
2664     XMLVM_CHECK_NPE(4)
2665     ((java_lang_String*) _r4.o)->fields.java_lang_String.hashCode_ = _r0.i;
2666     label34:;
2667     XMLVM_CHECK_NPE(4)
2668     _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.hashCode_;
2669     goto label9;
2670     //XMLVM_END_WRAPPER
2671 }
2672 
java_lang_String_indexOf___int(JAVA_OBJECT me,JAVA_INT n1)2673 JAVA_INT java_lang_String_indexOf___int(JAVA_OBJECT me, JAVA_INT n1)
2674 {
2675     //XMLVM_BEGIN_WRAPPER[java_lang_String_indexOf___int]
2676     XMLVM_ENTER_METHOD("java.lang.String", "indexOf", "?")
2677     XMLVMElem _r0;
2678     XMLVMElem _r1;
2679     XMLVMElem _r2;
2680     _r1.o = me;
2681     _r2.i = n1;
2682     XMLVM_SOURCE_POSITION("String.java", 1025)
2683     _r0.i = 0;
2684     XMLVM_CHECK_NPE(1)
2685     _r0.i = java_lang_String_indexOf___int_int(_r1.o, _r2.i, _r0.i);
2686     XMLVM_EXIT_METHOD()
2687     return _r0.i;
2688     //XMLVM_END_WRAPPER
2689 }
2690 
java_lang_String_indexOf___int_int(JAVA_OBJECT me,JAVA_INT n1,JAVA_INT n2)2691 JAVA_INT java_lang_String_indexOf___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
2692 {
2693     //XMLVM_BEGIN_WRAPPER[java_lang_String_indexOf___int_int]
2694     XMLVM_ENTER_METHOD("java.lang.String", "indexOf", "?")
2695     XMLVMElem _r0;
2696     XMLVMElem _r1;
2697     XMLVMElem _r2;
2698     XMLVMElem _r3;
2699     XMLVMElem _r4;
2700     XMLVMElem _r5;
2701     XMLVMElem _r6;
2702     _r4.o = me;
2703     _r5.i = n1;
2704     _r6.i = n2;
2705     _r3.i = 65535;
2706     XMLVM_SOURCE_POSITION("String.java", 1041)
2707     XMLVM_CHECK_NPE(4)
2708     _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
2709     if (_r6.i >= _r2.i) goto label68;
2710     XMLVM_SOURCE_POSITION("String.java", 1042)
2711     if (_r6.i >= 0) goto label10;
2712     XMLVM_SOURCE_POSITION("String.java", 1043)
2713     _r6.i = 0;
2714     label10:;
2715     XMLVM_SOURCE_POSITION("String.java", 1045)
2716     if (_r5.i < 0) goto label39;
2717     if (_r5.i > _r3.i) goto label39;
2718     XMLVM_SOURCE_POSITION("String.java", 1046)
2719     XMLVM_CHECK_NPE(4)
2720     _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
2721     _r1.i = _r2.i + _r6.i;
2722     label18:;
2723     XMLVM_CHECK_NPE(4)
2724     _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
2725     XMLVM_CHECK_NPE(4)
2726     _r3.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
2727     _r2.i = _r2.i + _r3.i;
2728     if (_r1.i >= _r2.i) goto label68;
2729     XMLVM_SOURCE_POSITION("String.java", 1047)
2730     XMLVM_CHECK_NPE(4)
2731     _r2.o = ((java_lang_String*) _r4.o)->fields.java_lang_String.value_;
2732     XMLVM_CHECK_NPE(2)
2733     XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
2734     _r2.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
2735     if (_r2.i != _r5.i) goto label36;
2736     XMLVM_SOURCE_POSITION("String.java", 1048)
2737     XMLVM_CHECK_NPE(4)
2738     _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
2739     _r2.i = _r1.i - _r2.i;
2740     label35:;
2741     XMLVM_SOURCE_POSITION("String.java", 1062)
2742     XMLVM_EXIT_METHOD()
2743     return _r2.i;
2744     label36:;
2745     _r1.i = _r1.i + 1;
2746     goto label18;
2747     label39:;
2748     XMLVM_SOURCE_POSITION("String.java", 1051)
2749     if (_r5.i <= _r3.i) goto label68;
2750     _r2.i = 1114111;
2751     if (_r5.i > _r2.i) goto label68;
2752     XMLVM_SOURCE_POSITION("String.java", 1052)
2753     _r1 = _r6;
2754     label47:;
2755     XMLVM_CHECK_NPE(4)
2756     _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
2757     if (_r1.i >= _r2.i) goto label68;
2758     XMLVM_SOURCE_POSITION("String.java", 1053)
2759     XMLVM_CHECK_NPE(4)
2760     _r0.i = java_lang_String_codePointAt___int(_r4.o, _r1.i);
2761     if (_r0.i != _r5.i) goto label59;
2762     XMLVM_SOURCE_POSITION("String.java", 1054)
2763     _r2 = _r1;
2764     XMLVM_SOURCE_POSITION("String.java", 1055)
2765     goto label35;
2766     label59:;
2767     XMLVM_SOURCE_POSITION("String.java", 1056)
2768     _r2.i = 65536;
2769     if (_r0.i < _r2.i) goto label65;
2770     XMLVM_SOURCE_POSITION("String.java", 1057)
2771     _r1.i = _r1.i + 1;
2772     label65:;
2773     _r1.i = _r1.i + 1;
2774     goto label47;
2775     label68:;
2776     _r2.i = -1;
2777     goto label35;
2778     //XMLVM_END_WRAPPER
2779 }
2780 
java_lang_String_indexOf___java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1)2781 JAVA_INT java_lang_String_indexOf___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
2782 {
2783     //XMLVM_BEGIN_WRAPPER[java_lang_String_indexOf___java_lang_String]
2784     XMLVM_ENTER_METHOD("java.lang.String", "indexOf", "?")
2785     XMLVMElem _r0;
2786     XMLVMElem _r1;
2787     XMLVMElem _r2;
2788     _r1.o = me;
2789     _r2.o = n1;
2790     XMLVM_SOURCE_POSITION("String.java", 1078)
2791     _r0.i = 0;
2792     XMLVM_CHECK_NPE(1)
2793     _r0.i = java_lang_String_indexOf___java_lang_String_int(_r1.o, _r2.o, _r0.i);
2794     XMLVM_EXIT_METHOD()
2795     return _r0.i;
2796     //XMLVM_END_WRAPPER
2797 }
2798 
java_lang_String_indexOf___java_lang_String_int(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2)2799 JAVA_INT java_lang_String_indexOf___java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
2800 {
2801     //XMLVM_BEGIN_WRAPPER[java_lang_String_indexOf___java_lang_String_int]
2802     XMLVM_ENTER_METHOD("java.lang.String", "indexOf", "?")
2803     XMLVMElem _r0;
2804     XMLVMElem _r1;
2805     XMLVMElem _r2;
2806     XMLVMElem _r3;
2807     XMLVMElem _r4;
2808     XMLVMElem _r5;
2809     XMLVMElem _r6;
2810     XMLVMElem _r7;
2811     XMLVMElem _r8;
2812     XMLVMElem _r9;
2813     XMLVMElem _r10;
2814     XMLVMElem _r11;
2815     XMLVMElem _r12;
2816     XMLVMElem _r13;
2817     _r11.o = me;
2818     _r12.o = n1;
2819     _r13.i = n2;
2820     _r10.i = -1;
2821     XMLVM_SOURCE_POSITION("String.java", 1096)
2822     if (_r13.i >= 0) goto label4;
2823     XMLVM_SOURCE_POSITION("String.java", 1097)
2824     _r13.i = 0;
2825     label4:;
2826     XMLVM_SOURCE_POSITION("String.java", 1099)
2827     XMLVM_CHECK_NPE(12)
2828     _r5.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.count_;
2829     if (_r5.i <= 0) goto label64;
2830     XMLVM_SOURCE_POSITION("String.java", 1100)
2831     XMLVM_SOURCE_POSITION("String.java", 1101)
2832     _r8.i = _r5.i + _r13.i;
2833     XMLVM_CHECK_NPE(11)
2834     _r9.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
2835     if (_r8.i <= _r9.i) goto label16;
2836     _r8 = _r10;
2837     label15:;
2838     XMLVM_SOURCE_POSITION("String.java", 1102)
2839     XMLVM_SOURCE_POSITION("String.java", 1123)
2840     XMLVM_EXIT_METHOD()
2841     return _r8.i;
2842     label16:;
2843     XMLVM_SOURCE_POSITION("String.java", 1104)
2844     XMLVM_CHECK_NPE(12)
2845     _r7.o = ((java_lang_String*) _r12.o)->fields.java_lang_String.value_;
2846     XMLVM_SOURCE_POSITION("String.java", 1105)
2847     XMLVM_CHECK_NPE(12)
2848     _r6.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.offset_;
2849     XMLVM_SOURCE_POSITION("String.java", 1106)
2850     XMLVM_CHECK_NPE(7)
2851     XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r6.i);
2852     _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
2853     _r0.i = _r6.i + _r5.i;
2854     label24:;
2855     XMLVM_SOURCE_POSITION("String.java", 1107)
2856     XMLVM_SOURCE_POSITION("String.java", 1109)
2857     XMLVM_CHECK_NPE(11)
2858     _r2.i = java_lang_String_indexOf___int_int(_r11.o, _r1.i, _r13.i);
2859     if (_r2.i == _r10.i) goto label36;
2860     XMLVM_SOURCE_POSITION("String.java", 1110)
2861     _r8.i = _r5.i + _r2.i;
2862     XMLVM_CHECK_NPE(11)
2863     _r9.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
2864     if (_r8.i <= _r9.i) goto label38;
2865     label36:;
2866     _r8 = _r10;
2867     XMLVM_SOURCE_POSITION("String.java", 1111)
2868     goto label15;
2869     label38:;
2870     XMLVM_SOURCE_POSITION("String.java", 1113)
2871     XMLVM_CHECK_NPE(11)
2872     _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.offset_;
2873     _r3.i = _r8.i + _r2.i;
2874     _r4 = _r6;
2875     label43:;
2876     XMLVM_SOURCE_POSITION("String.java", 1114)
2877     _r4.i = _r4.i + 1;
2878     if (_r4.i >= _r0.i) goto label57;
2879     XMLVM_CHECK_NPE(11)
2880     _r8.o = ((java_lang_String*) _r11.o)->fields.java_lang_String.value_;
2881     _r3.i = _r3.i + 1;
2882     XMLVM_CHECK_NPE(8)
2883     XMLVM_CHECK_ARRAY_BOUNDS(_r8.o, _r3.i);
2884     _r8.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r8.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
2885     XMLVM_CHECK_NPE(7)
2886     XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r4.i);
2887     _r9.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
2888     if (_r8.i == _r9.i) goto label43;
2889     label57:;
2890     XMLVM_SOURCE_POSITION("String.java", 1117)
2891     if (_r4.i != _r0.i) goto label61;
2892     _r8 = _r2;
2893     XMLVM_SOURCE_POSITION("String.java", 1118)
2894     goto label15;
2895     label61:;
2896     XMLVM_SOURCE_POSITION("String.java", 1120)
2897     _r13.i = _r2.i + 1;
2898     XMLVM_SOURCE_POSITION("String.java", 1121)
2899     goto label24;
2900     label64:;
2901     XMLVM_CHECK_NPE(11)
2902     _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
2903     if (_r13.i >= _r8.i) goto label70;
2904     _r8 = _r13;
2905     goto label15;
2906     label70:;
2907     XMLVM_CHECK_NPE(11)
2908     _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
2909     goto label15;
2910     //XMLVM_END_WRAPPER
2911 }
2912 
java_lang_String_intern__(JAVA_OBJECT me)2913 JAVA_OBJECT java_lang_String_intern__(JAVA_OBJECT me)
2914 {
2915     //XMLVM_BEGIN_WRAPPER[java_lang_String_intern__]
2916     XMLVM_ENTER_METHOD("java.lang.String", "intern", "?")
2917     XMLVMElem _r0;
2918     _r0.o = me;
2919     XMLVM_SOURCE_POSITION("String.java", 1136)
2920     XMLVM_EXIT_METHOD()
2921     return _r0.o;
2922     //XMLVM_END_WRAPPER
2923 }
2924 
java_lang_String_lastIndexOf___int(JAVA_OBJECT me,JAVA_INT n1)2925 JAVA_INT java_lang_String_lastIndexOf___int(JAVA_OBJECT me, JAVA_INT n1)
2926 {
2927     //XMLVM_BEGIN_WRAPPER[java_lang_String_lastIndexOf___int]
2928     XMLVM_ENTER_METHOD("java.lang.String", "lastIndexOf", "?")
2929     XMLVMElem _r0;
2930     XMLVMElem _r1;
2931     XMLVMElem _r2;
2932     XMLVMElem _r3;
2933     _r2.o = me;
2934     _r3.i = n1;
2935     XMLVM_SOURCE_POSITION("String.java", 1150)
2936     XMLVM_CHECK_NPE(2)
2937     _r0.i = ((java_lang_String*) _r2.o)->fields.java_lang_String.count_;
2938     _r1.i = 1;
2939     _r0.i = _r0.i - _r1.i;
2940     XMLVM_CHECK_NPE(2)
2941     _r0.i = java_lang_String_lastIndexOf___int_int(_r2.o, _r3.i, _r0.i);
2942     XMLVM_EXIT_METHOD()
2943     return _r0.i;
2944     //XMLVM_END_WRAPPER
2945 }
2946 
java_lang_String_lastIndexOf___int_int(JAVA_OBJECT me,JAVA_INT n1,JAVA_INT n2)2947 JAVA_INT java_lang_String_lastIndexOf___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
2948 {
2949     //XMLVM_BEGIN_WRAPPER[java_lang_String_lastIndexOf___int_int]
2950     XMLVM_ENTER_METHOD("java.lang.String", "lastIndexOf", "?")
2951     XMLVMElem _r0;
2952     XMLVMElem _r1;
2953     XMLVMElem _r2;
2954     XMLVMElem _r3;
2955     XMLVMElem _r4;
2956     XMLVMElem _r5;
2957     XMLVMElem _r6;
2958     XMLVMElem _r7;
2959     _r5.o = me;
2960     _r6.i = n1;
2961     _r7.i = n2;
2962     _r4.i = 65535;
2963     XMLVM_SOURCE_POSITION("String.java", 1166)
2964     if (_r7.i < 0) goto label67;
2965     XMLVM_SOURCE_POSITION("String.java", 1167)
2966     XMLVM_CHECK_NPE(5)
2967     _r2.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
2968     if (_r7.i < _r2.i) goto label14;
2969     XMLVM_SOURCE_POSITION("String.java", 1168)
2970     XMLVM_CHECK_NPE(5)
2971     _r2.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
2972     _r3.i = 1;
2973     _r7.i = _r2.i - _r3.i;
2974     label14:;
2975     XMLVM_SOURCE_POSITION("String.java", 1170)
2976     if (_r6.i < 0) goto label40;
2977     if (_r6.i > _r4.i) goto label40;
2978     XMLVM_SOURCE_POSITION("String.java", 1171)
2979     XMLVM_CHECK_NPE(5)
2980     _r2.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
2981     _r1.i = _r2.i + _r7.i;
2982     label22:;
2983     XMLVM_CHECK_NPE(5)
2984     _r2.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
2985     if (_r1.i < _r2.i) goto label67;
2986     XMLVM_SOURCE_POSITION("String.java", 1172)
2987     XMLVM_CHECK_NPE(5)
2988     _r2.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
2989     XMLVM_CHECK_NPE(2)
2990     XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
2991     _r2.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
2992     if (_r2.i != _r6.i) goto label37;
2993     XMLVM_SOURCE_POSITION("String.java", 1173)
2994     XMLVM_CHECK_NPE(5)
2995     _r2.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
2996     _r2.i = _r1.i - _r2.i;
2997     label36:;
2998     XMLVM_SOURCE_POSITION("String.java", 1187)
2999     XMLVM_EXIT_METHOD()
3000     return _r2.i;
3001     label37:;
3002     _r1.i = _r1.i + -1;
3003     goto label22;
3004     label40:;
3005     XMLVM_SOURCE_POSITION("String.java", 1176)
3006     if (_r6.i <= _r4.i) goto label67;
3007     _r2.i = 1114111;
3008     if (_r6.i > _r2.i) goto label67;
3009     XMLVM_SOURCE_POSITION("String.java", 1177)
3010     _r1 = _r7;
3011     label48:;
3012     if (_r1.i < 0) goto label67;
3013     XMLVM_SOURCE_POSITION("String.java", 1178)
3014     XMLVM_CHECK_NPE(5)
3015     _r0.i = java_lang_String_codePointAt___int(_r5.o, _r1.i);
3016     if (_r0.i != _r6.i) goto label58;
3017     XMLVM_SOURCE_POSITION("String.java", 1179)
3018     _r2 = _r1;
3019     XMLVM_SOURCE_POSITION("String.java", 1180)
3020     goto label36;
3021     label58:;
3022     XMLVM_SOURCE_POSITION("String.java", 1181)
3023     _r2.i = 65536;
3024     if (_r0.i < _r2.i) goto label64;
3025     XMLVM_SOURCE_POSITION("String.java", 1182)
3026     _r1.i = _r1.i + -1;
3027     label64:;
3028     _r1.i = _r1.i + -1;
3029     goto label48;
3030     label67:;
3031     _r2.i = -1;
3032     goto label36;
3033     //XMLVM_END_WRAPPER
3034 }
3035 
java_lang_String_lastIndexOf___java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1)3036 JAVA_INT java_lang_String_lastIndexOf___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
3037 {
3038     //XMLVM_BEGIN_WRAPPER[java_lang_String_lastIndexOf___java_lang_String]
3039     XMLVM_ENTER_METHOD("java.lang.String", "lastIndexOf", "?")
3040     XMLVMElem _r0;
3041     XMLVMElem _r1;
3042     XMLVMElem _r2;
3043     _r1.o = me;
3044     _r2.o = n1;
3045     XMLVM_SOURCE_POSITION("String.java", 1204)
3046     XMLVM_CHECK_NPE(1)
3047     _r0.i = ((java_lang_String*) _r1.o)->fields.java_lang_String.count_;
3048     XMLVM_CHECK_NPE(1)
3049     _r0.i = java_lang_String_lastIndexOf___java_lang_String_int(_r1.o, _r2.o, _r0.i);
3050     XMLVM_EXIT_METHOD()
3051     return _r0.i;
3052     //XMLVM_END_WRAPPER
3053 }
3054 
java_lang_String_lastIndexOf___java_lang_String_int(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2)3055 JAVA_INT java_lang_String_lastIndexOf___java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
3056 {
3057     //XMLVM_BEGIN_WRAPPER[java_lang_String_lastIndexOf___java_lang_String_int]
3058     XMLVM_ENTER_METHOD("java.lang.String", "lastIndexOf", "?")
3059     XMLVMElem _r0;
3060     XMLVMElem _r1;
3061     XMLVMElem _r2;
3062     XMLVMElem _r3;
3063     XMLVMElem _r4;
3064     XMLVMElem _r5;
3065     XMLVMElem _r6;
3066     XMLVMElem _r7;
3067     XMLVMElem _r8;
3068     XMLVMElem _r9;
3069     XMLVMElem _r10;
3070     XMLVMElem _r11;
3071     XMLVMElem _r12;
3072     XMLVMElem _r13;
3073     _r11.o = me;
3074     _r12.o = n1;
3075     _r13.i = n2;
3076     _r10.i = -1;
3077     XMLVM_SOURCE_POSITION("String.java", 1222)
3078     XMLVM_CHECK_NPE(12)
3079     _r5.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.count_;
3080     XMLVM_SOURCE_POSITION("String.java", 1223)
3081     XMLVM_CHECK_NPE(11)
3082     _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
3083     if (_r5.i > _r8.i) goto label72;
3084     if (_r13.i < 0) goto label72;
3085     XMLVM_SOURCE_POSITION("String.java", 1224)
3086     if (_r5.i <= 0) goto label63;
3087     XMLVM_SOURCE_POSITION("String.java", 1225)
3088     XMLVM_CHECK_NPE(11)
3089     _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
3090     _r8.i = _r8.i - _r5.i;
3091     if (_r13.i <= _r8.i) goto label20;
3092     XMLVM_SOURCE_POSITION("String.java", 1226)
3093     XMLVM_CHECK_NPE(11)
3094     _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
3095     _r13.i = _r8.i - _r5.i;
3096     label20:;
3097     XMLVM_SOURCE_POSITION("String.java", 1229)
3098     XMLVM_CHECK_NPE(12)
3099     _r7.o = ((java_lang_String*) _r12.o)->fields.java_lang_String.value_;
3100     XMLVM_SOURCE_POSITION("String.java", 1230)
3101     XMLVM_CHECK_NPE(12)
3102     _r6.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.offset_;
3103     XMLVM_SOURCE_POSITION("String.java", 1231)
3104     XMLVM_CHECK_NPE(7)
3105     XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r6.i);
3106     _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
3107     _r0.i = _r6.i + _r5.i;
3108     label28:;
3109     XMLVM_SOURCE_POSITION("String.java", 1232)
3110     XMLVM_SOURCE_POSITION("String.java", 1234)
3111     XMLVM_CHECK_NPE(11)
3112     _r2.i = java_lang_String_lastIndexOf___int_int(_r11.o, _r1.i, _r13.i);
3113     if (_r2.i != _r10.i) goto label36;
3114     XMLVM_SOURCE_POSITION("String.java", 1235)
3115     _r8 = _r10;
3116     label35:;
3117     XMLVM_SOURCE_POSITION("String.java", 1236)
3118     XMLVM_SOURCE_POSITION("String.java", 1250)
3119     XMLVM_EXIT_METHOD()
3120     return _r8.i;
3121     label36:;
3122     XMLVM_SOURCE_POSITION("String.java", 1238)
3123     XMLVM_CHECK_NPE(11)
3124     _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.offset_;
3125     _r3.i = _r8.i + _r2.i;
3126     _r4 = _r6;
3127     label41:;
3128     XMLVM_SOURCE_POSITION("String.java", 1239)
3129     _r4.i = _r4.i + 1;
3130     if (_r4.i >= _r0.i) goto label55;
3131     XMLVM_CHECK_NPE(11)
3132     _r8.o = ((java_lang_String*) _r11.o)->fields.java_lang_String.value_;
3133     _r3.i = _r3.i + 1;
3134     XMLVM_CHECK_NPE(8)
3135     XMLVM_CHECK_ARRAY_BOUNDS(_r8.o, _r3.i);
3136     _r8.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r8.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
3137     XMLVM_CHECK_NPE(7)
3138     XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r4.i);
3139     _r9.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
3140     if (_r8.i == _r9.i) goto label41;
3141     label55:;
3142     XMLVM_SOURCE_POSITION("String.java", 1242)
3143     if (_r4.i != _r0.i) goto label59;
3144     _r8 = _r2;
3145     XMLVM_SOURCE_POSITION("String.java", 1243)
3146     goto label35;
3147     label59:;
3148     XMLVM_SOURCE_POSITION("String.java", 1245)
3149     _r8.i = 1;
3150     _r13.i = _r2.i - _r8.i;
3151     XMLVM_SOURCE_POSITION("String.java", 1246)
3152     goto label28;
3153     label63:;
3154     XMLVM_SOURCE_POSITION("String.java", 1248)
3155     XMLVM_CHECK_NPE(11)
3156     _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
3157     if (_r13.i >= _r8.i) goto label69;
3158     _r8 = _r13;
3159     goto label35;
3160     label69:;
3161     XMLVM_CHECK_NPE(11)
3162     _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
3163     goto label35;
3164     label72:;
3165     _r8 = _r10;
3166     goto label35;
3167     //XMLVM_END_WRAPPER
3168 }
3169 
java_lang_String_length__(JAVA_OBJECT me)3170 JAVA_INT java_lang_String_length__(JAVA_OBJECT me)
3171 {
3172     //XMLVM_BEGIN_WRAPPER[java_lang_String_length__]
3173     XMLVM_ENTER_METHOD("java.lang.String", "length", "?")
3174     XMLVMElem _r0;
3175     XMLVMElem _r1;
3176     _r1.o = me;
3177     XMLVM_SOURCE_POSITION("String.java", 1259)
3178     XMLVM_CHECK_NPE(1)
3179     _r0.i = ((java_lang_String*) _r1.o)->fields.java_lang_String.count_;
3180     XMLVM_EXIT_METHOD()
3181     return _r0.i;
3182     //XMLVM_END_WRAPPER
3183 }
3184 
java_lang_String_regionMatches___int_java_lang_String_int_int(JAVA_OBJECT me,JAVA_INT n1,JAVA_OBJECT n2,JAVA_INT n3,JAVA_INT n4)3185 JAVA_BOOLEAN java_lang_String_regionMatches___int_java_lang_String_int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)
3186 {
3187     //XMLVM_BEGIN_WRAPPER[java_lang_String_regionMatches___int_java_lang_String_int_int]
3188     XMLVM_ENTER_METHOD("java.lang.String", "regionMatches", "?")
3189     XMLVMElem _r0;
3190     XMLVMElem _r1;
3191     XMLVMElem _r2;
3192     XMLVMElem _r3;
3193     XMLVMElem _r4;
3194     XMLVMElem _r5;
3195     XMLVMElem _r6;
3196     XMLVMElem _r7;
3197     XMLVMElem _r8;
3198     XMLVMElem _r9;
3199     XMLVMElem _r10;
3200     XMLVMElem _r11;
3201     XMLVMElem _r12;
3202     _r8.o = me;
3203     _r9.i = n1;
3204     _r10.o = n2;
3205     _r11.i = n3;
3206     _r12.i = n4;
3207     _r7.i = 1;
3208     _r6.i = 0;
3209     XMLVM_SOURCE_POSITION("String.java", 1281)
3210     XMLVM_CHECK_NPE(10)
3211     _r3.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.count_;
3212     _r3.i = _r3.i - _r11.i;
3213     if (_r3.i < _r12.i) goto label9;
3214     if (_r11.i >= 0) goto label11;
3215     label9:;
3216     _r3 = _r6;
3217     label10:;
3218     XMLVM_SOURCE_POSITION("String.java", 1282)
3219     XMLVM_SOURCE_POSITION("String.java", 1296)
3220     XMLVM_EXIT_METHOD()
3221     return _r3.i;
3222     label11:;
3223     XMLVM_SOURCE_POSITION("String.java", 1284)
3224     if (_r9.i < 0) goto label18;
3225     XMLVM_CHECK_NPE(8)
3226     _r3.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.count_;
3227     _r3.i = _r3.i - _r9.i;
3228     if (_r3.i >= _r12.i) goto label20;
3229     label18:;
3230     _r3 = _r6;
3231     XMLVM_SOURCE_POSITION("String.java", 1285)
3232     goto label10;
3233     label20:;
3234     XMLVM_SOURCE_POSITION("String.java", 1287)
3235     if (_r12.i > 0) goto label24;
3236     _r3 = _r7;
3237     XMLVM_SOURCE_POSITION("String.java", 1288)
3238     goto label10;
3239     label24:;
3240     XMLVM_SOURCE_POSITION("String.java", 1290)
3241     XMLVM_CHECK_NPE(8)
3242     _r3.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.offset_;
3243     _r1.i = _r3.i + _r9.i;
3244     XMLVM_CHECK_NPE(10)
3245     _r3.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.offset_;
3246     _r2.i = _r3.i + _r11.i;
3247     _r0.i = 0;
3248     label33:;
3249     XMLVM_SOURCE_POSITION("String.java", 1291)
3250     if (_r0.i >= _r12.i) goto label54;
3251     XMLVM_SOURCE_POSITION("String.java", 1292)
3252     XMLVM_CHECK_NPE(8)
3253     _r3.o = ((java_lang_String*) _r8.o)->fields.java_lang_String.value_;
3254     _r4.i = _r1.i + _r0.i;
3255     XMLVM_CHECK_NPE(3)
3256     XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
3257     _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
3258     XMLVM_CHECK_NPE(10)
3259     _r4.o = ((java_lang_String*) _r10.o)->fields.java_lang_String.value_;
3260     _r5.i = _r2.i + _r0.i;
3261     XMLVM_CHECK_NPE(4)
3262     XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r5.i);
3263     _r4.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i];
3264     if (_r3.i == _r4.i) goto label51;
3265     _r3 = _r6;
3266     XMLVM_SOURCE_POSITION("String.java", 1293)
3267     goto label10;
3268     label51:;
3269     _r0.i = _r0.i + 1;
3270     goto label33;
3271     label54:;
3272     _r3 = _r7;
3273     goto label10;
3274     //XMLVM_END_WRAPPER
3275 }
3276 
java_lang_String_regionMatches___boolean_int_java_lang_String_int_int(JAVA_OBJECT me,JAVA_BOOLEAN n1,JAVA_INT n2,JAVA_OBJECT n3,JAVA_INT n4,JAVA_INT n5)3277 JAVA_BOOLEAN java_lang_String_regionMatches___boolean_int_java_lang_String_int_int(JAVA_OBJECT me, JAVA_BOOLEAN n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5)
3278 {
3279     //XMLVM_BEGIN_WRAPPER[java_lang_String_regionMatches___boolean_int_java_lang_String_int_int]
3280     XMLVM_ENTER_METHOD("java.lang.String", "regionMatches", "?")
3281     XMLVMElem _r0;
3282     XMLVMElem _r1;
3283     XMLVMElem _r2;
3284     XMLVMElem _r3;
3285     XMLVMElem _r4;
3286     XMLVMElem _r5;
3287     XMLVMElem _r6;
3288     XMLVMElem _r7;
3289     XMLVMElem _r8;
3290     XMLVMElem _r9;
3291     XMLVMElem _r10;
3292     XMLVMElem _r11;
3293     XMLVMElem _r12;
3294     XMLVMElem _r13;
3295     XMLVMElem _r14;
3296     _r9.o = me;
3297     _r10.i = n1;
3298     _r11.i = n2;
3299     _r12.o = n3;
3300     _r13.i = n4;
3301     _r14.i = n5;
3302     _r8.i = 0;
3303     XMLVM_SOURCE_POSITION("String.java", 1321)
3304     if (_r10.i != 0) goto label8;
3305     XMLVM_SOURCE_POSITION("String.java", 1322)
3306     XMLVM_CHECK_NPE(9)
3307     _r6.i = java_lang_String_regionMatches___int_java_lang_String_int_int(_r9.o, _r11.i, _r12.o, _r13.i, _r14.i);
3308     label7:;
3309     XMLVM_SOURCE_POSITION("String.java", 1346)
3310     XMLVM_EXIT_METHOD()
3311     return _r6.i;
3312     label8:;
3313     XMLVM_SOURCE_POSITION("String.java", 1325)
3314     if (_r12.o == JAVA_NULL) goto label80;
3315     XMLVM_SOURCE_POSITION("String.java", 1326)
3316     if (_r11.i < 0) goto label17;
3317     XMLVM_CHECK_NPE(9)
3318     _r6.i = ((java_lang_String*) _r9.o)->fields.java_lang_String.count_;
3319     _r6.i = _r6.i - _r11.i;
3320     if (_r14.i <= _r6.i) goto label19;
3321     label17:;
3322     _r6 = _r8;
3323     XMLVM_SOURCE_POSITION("String.java", 1327)
3324     goto label7;
3325     label19:;
3326     XMLVM_SOURCE_POSITION("String.java", 1329)
3327     if (_r13.i < 0) goto label26;
3328     XMLVM_CHECK_NPE(12)
3329     _r6.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.count_;
3330     _r6.i = _r6.i - _r13.i;
3331     if (_r14.i <= _r6.i) goto label28;
3332     label26:;
3333     _r6 = _r8;
3334     XMLVM_SOURCE_POSITION("String.java", 1330)
3335     goto label7;
3336     label28:;
3337     XMLVM_SOURCE_POSITION("String.java", 1333)
3338     XMLVM_CHECK_NPE(9)
3339     _r6.i = ((java_lang_String*) _r9.o)->fields.java_lang_String.offset_;
3340     _r11.i = _r11.i + _r6.i;
3341     XMLVM_SOURCE_POSITION("String.java", 1334)
3342     XMLVM_CHECK_NPE(12)
3343     _r6.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.offset_;
3344     _r13.i = _r13.i + _r6.i;
3345     _r2.i = _r11.i + _r14.i;
3346     XMLVM_SOURCE_POSITION("String.java", 1337)
3347     XMLVM_CHECK_NPE(12)
3348     _r4.o = ((java_lang_String*) _r12.o)->fields.java_lang_String.value_;
3349     _r3 = _r13;
3350     _r5 = _r11;
3351     label40:;
3352     XMLVM_SOURCE_POSITION("String.java", 1338)
3353     if (_r5.i >= _r2.i) goto label76;
3354     XMLVM_SOURCE_POSITION("String.java", 1339)
3355     XMLVM_CHECK_NPE(9)
3356     _r6.o = ((java_lang_String*) _r9.o)->fields.java_lang_String.value_;
3357     _r11.i = _r5.i + 1;
3358     XMLVM_CHECK_NPE(6)
3359     XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r5.i);
3360     _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i];
3361     _r13.i = _r3.i + 1;
3362     XMLVM_CHECK_NPE(4)
3363     XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r3.i);
3364     _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
3365     if (_r0.i == _r1.i) goto label86;
3366     XMLVM_CHECK_NPE(9)
3367     _r6.i = java_lang_String_toUpperCase___char(_r9.o, _r0.i);
3368     XMLVM_CHECK_NPE(9)
3369     _r7.i = java_lang_String_toUpperCase___char(_r9.o, _r1.i);
3370     if (_r6.i == _r7.i) goto label86;
3371     XMLVM_CHECK_NPE(9)
3372     _r6.i = java_lang_String_toLowerCase___char(_r9.o, _r0.i);
3373     XMLVM_CHECK_NPE(9)
3374     _r7.i = java_lang_String_toLowerCase___char(_r9.o, _r1.i);
3375     if (_r6.i == _r7.i) goto label86;
3376     _r6 = _r8;
3377     XMLVM_SOURCE_POSITION("String.java", 1343)
3378     goto label7;
3379     label76:;
3380     _r6.i = 1;
3381     _r13 = _r3;
3382     _r11 = _r5;
3383     goto label7;
3384     label80:;
3385     XMLVM_SOURCE_POSITION("String.java", 1348)
3386     _r6.o = __NEW_java_lang_NullPointerException();
3387     XMLVM_CHECK_NPE(6)
3388     java_lang_NullPointerException___INIT___(_r6.o);
3389     XMLVM_THROW_CUSTOM(_r6.o)
3390     label86:;
3391     _r3 = _r13;
3392     _r5 = _r11;
3393     goto label40;
3394     //XMLVM_END_WRAPPER
3395 }
3396 
java_lang_String_replace___char_char(JAVA_OBJECT me,JAVA_CHAR n1,JAVA_CHAR n2)3397 JAVA_OBJECT java_lang_String_replace___char_char(JAVA_OBJECT me, JAVA_CHAR n1, JAVA_CHAR n2)
3398 {
3399     //XMLVM_BEGIN_WRAPPER[java_lang_String_replace___char_char]
3400     XMLVM_ENTER_METHOD("java.lang.String", "replace", "?")
3401     XMLVMElem _r0;
3402     XMLVMElem _r1;
3403     XMLVMElem _r2;
3404     XMLVMElem _r3;
3405     XMLVMElem _r4;
3406     XMLVMElem _r5;
3407     XMLVMElem _r6;
3408     XMLVMElem _r7;
3409     XMLVMElem _r8;
3410     XMLVMElem _r9;
3411     XMLVMElem _r10;
3412     _r8.o = me;
3413     _r9.i = n1;
3414     _r10.i = n2;
3415     _r7.i = -1;
3416     _r6.i = 0;
3417     XMLVM_SOURCE_POSITION("String.java", 1362)
3418     XMLVM_CHECK_NPE(8)
3419     _r1.i = java_lang_String_indexOf___int_int(_r8.o, _r9.i, _r6.i);
3420     if (_r1.i != _r7.i) goto label10;
3421     XMLVM_SOURCE_POSITION("String.java", 1363)
3422     _r3 = _r8;
3423     label9:;
3424     XMLVM_SOURCE_POSITION("String.java", 1364)
3425     XMLVM_SOURCE_POSITION("String.java", 1372)
3426     XMLVM_EXIT_METHOD()
3427     return _r3.o;
3428     label10:;
3429     XMLVM_SOURCE_POSITION("String.java", 1367)
3430     XMLVM_CHECK_NPE(8)
3431     _r3.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.count_;
3432     XMLVM_CLASS_INIT(char)
3433     _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r3.i);
3434     XMLVM_SOURCE_POSITION("String.java", 1368)
3435     XMLVM_CHECK_NPE(8)
3436     _r3.o = ((java_lang_String*) _r8.o)->fields.java_lang_String.value_;
3437     XMLVM_CHECK_NPE(8)
3438     _r4.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.offset_;
3439     XMLVM_CHECK_NPE(8)
3440     _r5.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.count_;
3441     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r3.o, _r4.i, _r0.o, _r6.i, _r5.i);
3442     label23:;
3443     XMLVM_SOURCE_POSITION("String.java", 1370)
3444     _r2.i = _r1.i + 1;
3445     XMLVM_CHECK_NPE(0)
3446     XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
3447     ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r10.i;
3448     XMLVM_SOURCE_POSITION("String.java", 1371)
3449     XMLVM_CHECK_NPE(8)
3450     _r1.i = java_lang_String_indexOf___int_int(_r8.o, _r9.i, _r2.i);
3451     if (_r1.i != _r7.i) goto label23;
3452     _r3.o = __NEW_java_lang_String();
3453     XMLVM_CHECK_NPE(8)
3454     _r4.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.count_;
3455     XMLVM_CHECK_NPE(3)
3456     java_lang_String___INIT____int_int_char_1ARRAY(_r3.o, _r6.i, _r4.i, _r0.o);
3457     goto label9;
3458     //XMLVM_END_WRAPPER
3459 }
3460 
java_lang_String_replace___java_lang_CharSequence_java_lang_CharSequence(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_OBJECT n2)3461 JAVA_OBJECT java_lang_String_replace___java_lang_CharSequence_java_lang_CharSequence(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
3462 {
3463     //XMLVM_BEGIN_WRAPPER[java_lang_String_replace___java_lang_CharSequence_java_lang_CharSequence]
3464     XMLVM_ENTER_METHOD("java.lang.String", "replace", "?")
3465     XMLVMElem _r0;
3466     XMLVMElem _r1;
3467     XMLVMElem _r2;
3468     XMLVMElem _r3;
3469     XMLVMElem _r4;
3470     XMLVMElem _r5;
3471     XMLVMElem _r6;
3472     XMLVMElem _r7;
3473     XMLVMElem _r8;
3474     XMLVMElem _r9;
3475     XMLVMElem _r10;
3476     XMLVMElem _r11;
3477     XMLVMElem _r12;
3478     XMLVMElem _r13;
3479     _r11.o = me;
3480     _r12.o = n1;
3481     _r13.o = n2;
3482     _r10.i = -1;
3483     XMLVM_SOURCE_POSITION("String.java", 1389)
3484     if (_r12.o != JAVA_NULL) goto label11;
3485     XMLVM_SOURCE_POSITION("String.java", 1390)
3486     _r7.o = __NEW_java_lang_NullPointerException();
3487     // "target should not be null"
3488     _r8.o = xmlvm_create_java_string_from_pool(176);
3489     XMLVM_CHECK_NPE(7)
3490     java_lang_NullPointerException___INIT____java_lang_String(_r7.o, _r8.o);
3491     XMLVM_THROW_CUSTOM(_r7.o)
3492     label11:;
3493     XMLVM_SOURCE_POSITION("String.java", 1392)
3494     if (_r13.o != JAVA_NULL) goto label21;
3495     XMLVM_SOURCE_POSITION("String.java", 1393)
3496     _r7.o = __NEW_java_lang_NullPointerException();
3497     // "replacement should not be null"
3498     _r8.o = xmlvm_create_java_string_from_pool(177);
3499     XMLVM_CHECK_NPE(7)
3500     java_lang_NullPointerException___INIT____java_lang_String(_r7.o, _r8.o);
3501     XMLVM_THROW_CUSTOM(_r7.o)
3502     label21:;
3503     XMLVM_SOURCE_POSITION("String.java", 1395)
3504     //java_lang_Object_toString__[5]
3505     XMLVM_CHECK_NPE(12)
3506     _r6.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r12.o)->tib->vtable[5])(_r12.o);
3507     _r7.i = 0;
3508     XMLVM_SOURCE_POSITION("String.java", 1396)
3509     XMLVM_CHECK_NPE(11)
3510     _r2.i = java_lang_String_indexOf___java_lang_String_int(_r11.o, _r6.o, _r7.i);
3511     if (_r2.i != _r10.i) goto label34;
3512     XMLVM_SOURCE_POSITION("String.java", 1398)
3513     _r7 = _r11;
3514     label33:;
3515     XMLVM_SOURCE_POSITION("String.java", 1399)
3516     XMLVM_SOURCE_POSITION("String.java", 1426)
3517     XMLVM_EXIT_METHOD()
3518     return _r7.o;
3519     label34:;
3520     XMLVM_SOURCE_POSITION("String.java", 1401)
3521     //java_lang_Object_toString__[5]
3522     XMLVM_CHECK_NPE(13)
3523     _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r13.o)->tib->vtable[5])(_r13.o);
3524     XMLVM_SOURCE_POSITION("String.java", 1405)
3525     // ""
3526     _r7.o = xmlvm_create_java_string_from_pool(21);
3527     //java_lang_String_equals___java_lang_Object[1]
3528     XMLVM_CHECK_NPE(7)
3529     _r7.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r7.o)->tib->vtable[1])(_r7.o, _r6.o);
3530     if (_r7.i == 0) goto label92;
3531     XMLVM_SOURCE_POSITION("String.java", 1406)
3532     _r0.o = __NEW_java_lang_StringBuilder();
3533     XMLVM_CHECK_NPE(11)
3534     _r7.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
3535     //java_lang_String_length__[8]
3536     XMLVM_CHECK_NPE(3)
3537     _r8.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r3.o)->tib->vtable[8])(_r3.o);
3538     XMLVM_CHECK_NPE(11)
3539     _r9.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
3540     _r9.i = _r9.i + 1;
3541     _r8.i = _r8.i * _r9.i;
3542     _r7.i = _r7.i + _r8.i;
3543     XMLVM_CHECK_NPE(0)
3544     java_lang_StringBuilder___INIT____int(_r0.o, _r7.i);
3545     XMLVM_SOURCE_POSITION("String.java", 1407)
3546     XMLVM_CHECK_NPE(0)
3547     java_lang_StringBuilder_append___java_lang_String(_r0.o, _r3.o);
3548     XMLVM_SOURCE_POSITION("String.java", 1408)
3549     _r1.i = 0;
3550     label67:;
3551     XMLVM_CHECK_NPE(11)
3552     _r7.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
3553     if (_r1.i >= _r7.i) goto label87;
3554     XMLVM_SOURCE_POSITION("String.java", 1409)
3555     XMLVM_CHECK_NPE(11)
3556     _r7.o = ((java_lang_String*) _r11.o)->fields.java_lang_String.value_;
3557     XMLVM_CHECK_NPE(11)
3558     _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.offset_;
3559     _r8.i = _r8.i + _r1.i;
3560     XMLVM_CHECK_NPE(7)
3561     XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r8.i);
3562     _r7.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i];
3563     //java_lang_StringBuilder_append___char[6]
3564     XMLVM_CHECK_NPE(0)
3565     (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r7.i);
3566     XMLVM_SOURCE_POSITION("String.java", 1410)
3567     XMLVM_CHECK_NPE(0)
3568     java_lang_StringBuilder_append___java_lang_String(_r0.o, _r3.o);
3569     _r1.i = _r1.i + 1;
3570     goto label67;
3571     label87:;
3572     XMLVM_SOURCE_POSITION("String.java", 1412)
3573     //java_lang_StringBuilder_toString__[5]
3574     XMLVM_CHECK_NPE(0)
3575     _r7.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
3576     goto label33;
3577     label92:;
3578     XMLVM_SOURCE_POSITION("String.java", 1415)
3579     _r0.o = __NEW_java_lang_StringBuilder();
3580     XMLVM_CHECK_NPE(11)
3581     _r7.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
3582     //java_lang_String_length__[8]
3583     XMLVM_CHECK_NPE(3)
3584     _r8.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r3.o)->tib->vtable[8])(_r3.o);
3585     _r7.i = _r7.i + _r8.i;
3586     XMLVM_CHECK_NPE(0)
3587     java_lang_StringBuilder___INIT____int(_r0.o, _r7.i);
3588     XMLVM_SOURCE_POSITION("String.java", 1416)
3589     XMLVM_CHECK_NPE(12)
3590     _r5.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r12.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__])(_r12.o);
3591     _r4.i = 0;
3592     label109:;
3593     XMLVM_SOURCE_POSITION("String.java", 1417)
3594     XMLVM_SOURCE_POSITION("String.java", 1419)
3595     XMLVM_CHECK_NPE(11)
3596     _r7.o = ((java_lang_String*) _r11.o)->fields.java_lang_String.value_;
3597     XMLVM_CHECK_NPE(11)
3598     _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.offset_;
3599     _r8.i = _r8.i + _r4.i;
3600     _r9.i = _r2.i - _r4.i;
3601     XMLVM_CHECK_NPE(0)
3602     java_lang_StringBuilder_append___char_1ARRAY_int_int(_r0.o, _r7.o, _r8.i, _r9.i);
3603     XMLVM_SOURCE_POSITION("String.java", 1420)
3604     XMLVM_CHECK_NPE(0)
3605     java_lang_StringBuilder_append___java_lang_String(_r0.o, _r3.o);
3606     XMLVM_SOURCE_POSITION("String.java", 1421)
3607     _r4.i = _r2.i + _r5.i;
3608     XMLVM_SOURCE_POSITION("String.java", 1422)
3609     XMLVM_CHECK_NPE(11)
3610     _r2.i = java_lang_String_indexOf___java_lang_String_int(_r11.o, _r6.o, _r4.i);
3611     if (_r2.i != _r10.i) goto label109;
3612     XMLVM_SOURCE_POSITION("String.java", 1424)
3613     XMLVM_CHECK_NPE(11)
3614     _r7.o = ((java_lang_String*) _r11.o)->fields.java_lang_String.value_;
3615     XMLVM_CHECK_NPE(11)
3616     _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.offset_;
3617     _r8.i = _r8.i + _r4.i;
3618     XMLVM_CHECK_NPE(11)
3619     _r9.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
3620     _r9.i = _r9.i - _r4.i;
3621     XMLVM_CHECK_NPE(0)
3622     java_lang_StringBuilder_append___char_1ARRAY_int_int(_r0.o, _r7.o, _r8.i, _r9.i);
3623     //java_lang_StringBuilder_toString__[5]
3624     XMLVM_CHECK_NPE(0)
3625     _r7.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
3626     goto label33;
3627     //XMLVM_END_WRAPPER
3628 }
3629 
java_lang_String_startsWith___java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1)3630 JAVA_BOOLEAN java_lang_String_startsWith___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
3631 {
3632     //XMLVM_BEGIN_WRAPPER[java_lang_String_startsWith___java_lang_String]
3633     XMLVM_ENTER_METHOD("java.lang.String", "startsWith", "?")
3634     XMLVMElem _r0;
3635     XMLVMElem _r1;
3636     XMLVMElem _r2;
3637     _r1.o = me;
3638     _r2.o = n1;
3639     XMLVM_SOURCE_POSITION("String.java", 1441)
3640     _r0.i = 0;
3641     XMLVM_CHECK_NPE(1)
3642     _r0.i = java_lang_String_startsWith___java_lang_String_int(_r1.o, _r2.o, _r0.i);
3643     XMLVM_EXIT_METHOD()
3644     return _r0.i;
3645     //XMLVM_END_WRAPPER
3646 }
3647 
java_lang_String_startsWith___java_lang_String_int(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2)3648 JAVA_BOOLEAN java_lang_String_startsWith___java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
3649 {
3650     //XMLVM_BEGIN_WRAPPER[java_lang_String_startsWith___java_lang_String_int]
3651     XMLVM_ENTER_METHOD("java.lang.String", "startsWith", "?")
3652     XMLVMElem _r0;
3653     XMLVMElem _r1;
3654     XMLVMElem _r2;
3655     XMLVMElem _r3;
3656     XMLVMElem _r4;
3657     _r2.o = me;
3658     _r3.o = n1;
3659     _r4.i = n2;
3660     XMLVM_SOURCE_POSITION("String.java", 1458)
3661     _r0.i = 0;
3662     XMLVM_CHECK_NPE(3)
3663     _r1.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.count_;
3664     XMLVM_CHECK_NPE(2)
3665     _r0.i = java_lang_String_regionMatches___int_java_lang_String_int_int(_r2.o, _r4.i, _r3.o, _r0.i, _r1.i);
3666     XMLVM_EXIT_METHOD()
3667     return _r0.i;
3668     //XMLVM_END_WRAPPER
3669 }
3670 
java_lang_String_substring___int(JAVA_OBJECT me,JAVA_INT n1)3671 JAVA_OBJECT java_lang_String_substring___int(JAVA_OBJECT me, JAVA_INT n1)
3672 {
3673     //XMLVM_BEGIN_WRAPPER[java_lang_String_substring___int]
3674     XMLVM_ENTER_METHOD("java.lang.String", "substring", "?")
3675     XMLVMElem _r0;
3676     XMLVMElem _r1;
3677     XMLVMElem _r2;
3678     XMLVMElem _r3;
3679     XMLVMElem _r4;
3680     XMLVMElem _r5;
3681     _r4.o = me;
3682     _r5.i = n1;
3683     XMLVM_SOURCE_POSITION("String.java", 1472)
3684     if (_r5.i != 0) goto label4;
3685     _r0 = _r4;
3686     label3:;
3687     XMLVM_SOURCE_POSITION("String.java", 1473)
3688     XMLVM_SOURCE_POSITION("String.java", 1476)
3689     XMLVM_EXIT_METHOD()
3690     return _r0.o;
3691     label4:;
3692     XMLVM_SOURCE_POSITION("String.java", 1475)
3693     if (_r5.i < 0) goto label24;
3694     XMLVM_CHECK_NPE(4)
3695     _r0.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
3696     if (_r5.i > _r0.i) goto label24;
3697     _r0.o = __NEW_java_lang_String();
3698     XMLVM_CHECK_NPE(4)
3699     _r1.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
3700     _r1.i = _r1.i + _r5.i;
3701     XMLVM_CHECK_NPE(4)
3702     _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
3703     _r2.i = _r2.i - _r5.i;
3704     XMLVM_CHECK_NPE(4)
3705     _r3.o = ((java_lang_String*) _r4.o)->fields.java_lang_String.value_;
3706     XMLVM_CHECK_NPE(0)
3707     java_lang_String___INIT____int_int_char_1ARRAY(_r0.o, _r1.i, _r2.i, _r3.o);
3708     goto label3;
3709     label24:;
3710     XMLVM_SOURCE_POSITION("String.java", 1478)
3711 
3712 
3713     // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
3714     XMLVM_RED_CLASS_DEPENDENCY();
3715 
3716 
3717     // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
3718     XMLVM_RED_CLASS_DEPENDENCY();
3719     XMLVM_THROW_CUSTOM(_r0.o)
3720     //XMLVM_END_WRAPPER
3721 }
3722 
java_lang_String_substring___int_int(JAVA_OBJECT me,JAVA_INT n1,JAVA_INT n2)3723 JAVA_OBJECT java_lang_String_substring___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
3724 {
3725     //XMLVM_BEGIN_WRAPPER[java_lang_String_substring___int_int]
3726     XMLVM_ENTER_METHOD("java.lang.String", "substring", "?")
3727     XMLVMElem _r0;
3728     XMLVMElem _r1;
3729     XMLVMElem _r2;
3730     XMLVMElem _r3;
3731     XMLVMElem _r4;
3732     XMLVMElem _r5;
3733     XMLVMElem _r6;
3734     _r4.o = me;
3735     _r5.i = n1;
3736     _r6.i = n2;
3737     XMLVM_SOURCE_POSITION("String.java", 1494)
3738     if (_r5.i != 0) goto label8;
3739     XMLVM_CHECK_NPE(4)
3740     _r0.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
3741     if (_r6.i != _r0.i) goto label8;
3742     _r0 = _r4;
3743     label7:;
3744     XMLVM_SOURCE_POSITION("String.java", 1495)
3745     XMLVM_SOURCE_POSITION("String.java", 1505)
3746     XMLVM_EXIT_METHOD()
3747     return _r0.o;
3748     label8:;
3749     XMLVM_SOURCE_POSITION("String.java", 1497)
3750     if (_r5.i >= 0) goto label16;
3751     XMLVM_SOURCE_POSITION("String.java", 1498)
3752 
3753 
3754     // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
3755     XMLVM_RED_CLASS_DEPENDENCY();
3756 
3757 
3758     // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
3759     XMLVM_RED_CLASS_DEPENDENCY();
3760     XMLVM_THROW_CUSTOM(_r0.o)
3761     label16:;
3762     XMLVM_SOURCE_POSITION("String.java", 1499)
3763     if (_r5.i <= _r6.i) goto label26;
3764     XMLVM_SOURCE_POSITION("String.java", 1500)
3765 
3766 
3767     // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
3768     XMLVM_RED_CLASS_DEPENDENCY();
3769     _r1.i = _r6.i - _r5.i;
3770 
3771 
3772     // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
3773     XMLVM_RED_CLASS_DEPENDENCY();
3774     XMLVM_THROW_CUSTOM(_r0.o)
3775     label26:;
3776     XMLVM_SOURCE_POSITION("String.java", 1501)
3777     XMLVM_CHECK_NPE(4)
3778     _r0.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
3779     if (_r6.i <= _r0.i) goto label36;
3780     XMLVM_SOURCE_POSITION("String.java", 1502)
3781 
3782 
3783     // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
3784     XMLVM_RED_CLASS_DEPENDENCY();
3785 
3786 
3787     // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
3788     XMLVM_RED_CLASS_DEPENDENCY();
3789     XMLVM_THROW_CUSTOM(_r0.o)
3790     label36:;
3791     _r0.o = __NEW_java_lang_String();
3792     XMLVM_CHECK_NPE(4)
3793     _r1.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
3794     _r1.i = _r1.i + _r5.i;
3795     _r2.i = _r6.i - _r5.i;
3796     XMLVM_CHECK_NPE(4)
3797     _r3.o = ((java_lang_String*) _r4.o)->fields.java_lang_String.value_;
3798     XMLVM_CHECK_NPE(0)
3799     java_lang_String___INIT____int_int_char_1ARRAY(_r0.o, _r1.i, _r2.i, _r3.o);
3800     goto label7;
3801     //XMLVM_END_WRAPPER
3802 }
3803 
java_lang_String_toCharArray__(JAVA_OBJECT me)3804 JAVA_OBJECT java_lang_String_toCharArray__(JAVA_OBJECT me)
3805 {
3806     //XMLVM_BEGIN_WRAPPER[java_lang_String_toCharArray__]
3807     XMLVM_ENTER_METHOD("java.lang.String", "toCharArray", "?")
3808     XMLVMElem _r0;
3809     XMLVMElem _r1;
3810     XMLVMElem _r2;
3811     XMLVMElem _r3;
3812     XMLVMElem _r4;
3813     XMLVMElem _r5;
3814     _r5.o = me;
3815     XMLVM_SOURCE_POSITION("String.java", 1514)
3816     XMLVM_CHECK_NPE(5)
3817     _r1.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
3818     XMLVM_CLASS_INIT(char)
3819     _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r1.i);
3820     XMLVM_SOURCE_POSITION("String.java", 1515)
3821     XMLVM_CHECK_NPE(5)
3822     _r1.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
3823     XMLVM_CHECK_NPE(5)
3824     _r2.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
3825     _r3.i = 0;
3826     XMLVM_CHECK_NPE(5)
3827     _r4.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
3828     java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r2.i, _r0.o, _r3.i, _r4.i);
3829     XMLVM_SOURCE_POSITION("String.java", 1516)
3830     XMLVM_EXIT_METHOD()
3831     return _r0.o;
3832     //XMLVM_END_WRAPPER
3833 }
3834 
java_lang_String_toLowerCase__(JAVA_OBJECT me)3835 JAVA_OBJECT java_lang_String_toLowerCase__(JAVA_OBJECT me)
3836 {
3837     //XMLVM_BEGIN_WRAPPER[java_lang_String_toLowerCase__]
3838     XMLVM_ENTER_METHOD("java.lang.String", "toLowerCase", "?")
3839     XMLVMElem _r0;
3840     XMLVMElem _r1;
3841     _r1.o = me;
3842     XMLVM_SOURCE_POSITION("String.java", 1527)
3843     _r0.o = java_util_Locale_getDefault__();
3844     XMLVM_CHECK_NPE(1)
3845     _r0.o = java_lang_String_toLowerCase___java_util_Locale(_r1.o, _r0.o);
3846     XMLVM_EXIT_METHOD()
3847     return _r0.o;
3848     //XMLVM_END_WRAPPER
3849 }
3850 
java_lang_String_toLowerCase___java_util_Locale(JAVA_OBJECT me,JAVA_OBJECT n1)3851 JAVA_OBJECT java_lang_String_toLowerCase___java_util_Locale(JAVA_OBJECT me, JAVA_OBJECT n1)
3852 {
3853     //XMLVM_BEGIN_WRAPPER[java_lang_String_toLowerCase___java_util_Locale]
3854     XMLVM_ENTER_METHOD("java.lang.String", "toLowerCase", "?")
3855     XMLVMElem _r0;
3856     XMLVMElem _r1;
3857     XMLVMElem _r2;
3858     XMLVMElem _r3;
3859     XMLVMElem _r4;
3860     XMLVMElem _r5;
3861     XMLVMElem _r6;
3862     _r5.o = me;
3863     _r6.o = n1;
3864     XMLVM_SOURCE_POSITION("String.java", 1541)
3865     _r0.o = __NEW_java_lang_StringBuilder();
3866     XMLVM_CHECK_NPE(0)
3867     java_lang_StringBuilder___INIT___(_r0.o);
3868     XMLVM_SOURCE_POSITION("String.java", 1542)
3869     XMLVM_CHECK_NPE(5)
3870     _r1.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
3871     label7:;
3872     XMLVM_CHECK_NPE(5)
3873     _r3.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
3874     XMLVM_CHECK_NPE(5)
3875     _r4.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
3876     _r3.i = _r3.i + _r4.i;
3877     if (_r1.i >= _r3.i) goto label29;
3878     XMLVM_SOURCE_POSITION("String.java", 1543)
3879     XMLVM_CHECK_NPE(5)
3880     _r3.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
3881     XMLVM_CHECK_NPE(3)
3882     XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r1.i);
3883     _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
3884     XMLVM_CHECK_NPE(5)
3885     _r3.i = java_lang_String_toLowerCaseImpl___int(_r5.o, _r3.i);
3886     _r3.i = _r3.i & 0xffff;
3887     //java_lang_StringBuilder_append___char[6]
3888     XMLVM_CHECK_NPE(0)
3889     (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r3.i);
3890     _r1.i = _r1.i + 1;
3891     goto label7;
3892     label29:;
3893     XMLVM_SOURCE_POSITION("String.java", 1546)
3894     //java_lang_StringBuilder_toString__[5]
3895     XMLVM_CHECK_NPE(0)
3896     _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
3897     XMLVM_SOURCE_POSITION("String.java", 1547)
3898     //java_lang_String_equals___java_lang_Object[1]
3899     XMLVM_CHECK_NPE(5)
3900     _r3.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r5.o)->tib->vtable[1])(_r5.o, _r2.o);
3901     if (_r3.i == 0) goto label41;
3902     _r3 = _r5;
3903     label40:;
3904     XMLVM_SOURCE_POSITION("String.java", 1548)
3905     XMLVM_SOURCE_POSITION("String.java", 1550)
3906     XMLVM_EXIT_METHOD()
3907     return _r3.o;
3908     label41:;
3909     _r3 = _r2;
3910     goto label40;
3911     //XMLVM_END_WRAPPER
3912 }
3913 
3914 //XMLVM_NATIVE[JAVA_INT java_lang_String_toLowerCaseImpl___int(JAVA_OBJECT me, JAVA_INT n1)]
3915 
java_lang_String_toString__(JAVA_OBJECT me)3916 JAVA_OBJECT java_lang_String_toString__(JAVA_OBJECT me)
3917 {
3918     //XMLVM_BEGIN_WRAPPER[java_lang_String_toString__]
3919     XMLVM_ENTER_METHOD("java.lang.String", "toString", "?")
3920     XMLVMElem _r0;
3921     _r0.o = me;
3922     XMLVM_SOURCE_POSITION("String.java", 1563)
3923     XMLVM_EXIT_METHOD()
3924     return _r0.o;
3925     //XMLVM_END_WRAPPER
3926 }
3927 
java_lang_String_toUpperCase__(JAVA_OBJECT me)3928 JAVA_OBJECT java_lang_String_toUpperCase__(JAVA_OBJECT me)
3929 {
3930     //XMLVM_BEGIN_WRAPPER[java_lang_String_toUpperCase__]
3931     XMLVM_ENTER_METHOD("java.lang.String", "toUpperCase", "?")
3932     XMLVMElem _r0;
3933     XMLVMElem _r1;
3934     _r1.o = me;
3935     XMLVM_SOURCE_POSITION("String.java", 1574)
3936     _r0.o = java_util_Locale_getDefault__();
3937     XMLVM_CHECK_NPE(1)
3938     _r0.o = java_lang_String_toUpperCase___java_util_Locale(_r1.o, _r0.o);
3939     XMLVM_EXIT_METHOD()
3940     return _r0.o;
3941     //XMLVM_END_WRAPPER
3942 }
3943 
java_lang_String_toUpperCase___java_util_Locale(JAVA_OBJECT me,JAVA_OBJECT n1)3944 JAVA_OBJECT java_lang_String_toUpperCase___java_util_Locale(JAVA_OBJECT me, JAVA_OBJECT n1)
3945 {
3946     //XMLVM_BEGIN_WRAPPER[java_lang_String_toUpperCase___java_util_Locale]
3947     XMLVM_ENTER_METHOD("java.lang.String", "toUpperCase", "?")
3948     XMLVMElem _r0;
3949     XMLVMElem _r1;
3950     XMLVMElem _r2;
3951     XMLVMElem _r3;
3952     XMLVMElem _r4;
3953     XMLVMElem _r5;
3954     XMLVMElem _r6;
3955     _r5.o = me;
3956     _r6.o = n1;
3957     XMLVM_SOURCE_POSITION("String.java", 1588)
3958     _r0.o = __NEW_java_lang_StringBuilder();
3959     XMLVM_CHECK_NPE(0)
3960     java_lang_StringBuilder___INIT___(_r0.o);
3961     XMLVM_SOURCE_POSITION("String.java", 1589)
3962     XMLVM_CHECK_NPE(5)
3963     _r1.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
3964     label7:;
3965     XMLVM_CHECK_NPE(5)
3966     _r3.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
3967     XMLVM_CHECK_NPE(5)
3968     _r4.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
3969     _r3.i = _r3.i + _r4.i;
3970     if (_r1.i >= _r3.i) goto label29;
3971     XMLVM_SOURCE_POSITION("String.java", 1590)
3972     XMLVM_CHECK_NPE(5)
3973     _r3.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
3974     XMLVM_CHECK_NPE(3)
3975     XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r1.i);
3976     _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
3977     XMLVM_CHECK_NPE(5)
3978     _r3.i = java_lang_String_toUpperCaseImpl___int(_r5.o, _r3.i);
3979     _r3.i = _r3.i & 0xffff;
3980     //java_lang_StringBuilder_append___char[6]
3981     XMLVM_CHECK_NPE(0)
3982     (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r3.i);
3983     _r1.i = _r1.i + 1;
3984     goto label7;
3985     label29:;
3986     XMLVM_SOURCE_POSITION("String.java", 1593)
3987     //java_lang_StringBuilder_toString__[5]
3988     XMLVM_CHECK_NPE(0)
3989     _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
3990     XMLVM_SOURCE_POSITION("String.java", 1594)
3991     //java_lang_String_equals___java_lang_Object[1]
3992     XMLVM_CHECK_NPE(5)
3993     _r3.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r5.o)->tib->vtable[1])(_r5.o, _r2.o);
3994     if (_r3.i == 0) goto label41;
3995     _r3 = _r5;
3996     label40:;
3997     XMLVM_SOURCE_POSITION("String.java", 1595)
3998     XMLVM_SOURCE_POSITION("String.java", 1597)
3999     XMLVM_EXIT_METHOD()
4000     return _r3.o;
4001     label41:;
4002     _r3 = _r2;
4003     goto label40;
4004     //XMLVM_END_WRAPPER
4005 }
4006 
4007 //XMLVM_NATIVE[JAVA_INT java_lang_String_toUpperCaseImpl___int(JAVA_OBJECT me, JAVA_INT n1)]
4008 
java_lang_String_trim__(JAVA_OBJECT me)4009 JAVA_OBJECT java_lang_String_trim__(JAVA_OBJECT me)
4010 {
4011     //XMLVM_BEGIN_WRAPPER[java_lang_String_trim__]
4012     XMLVM_ENTER_METHOD("java.lang.String", "trim", "?")
4013     XMLVMElem _r0;
4014     XMLVMElem _r1;
4015     XMLVMElem _r2;
4016     XMLVMElem _r3;
4017     XMLVMElem _r4;
4018     XMLVMElem _r5;
4019     XMLVMElem _r6;
4020     _r6.o = me;
4021     _r5.i = 32;
4022     XMLVM_SOURCE_POSITION("String.java", 1611)
4023     XMLVM_CHECK_NPE(6)
4024     _r2.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.offset_;
4025     XMLVM_CHECK_NPE(6)
4026     _r3.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.offset_;
4027     XMLVM_CHECK_NPE(6)
4028     _r4.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
4029     _r3.i = _r3.i + _r4.i;
4030     _r4.i = 1;
4031     _r1.i = _r3.i - _r4.i;
4032     _r0 = _r1;
4033     label13:;
4034     XMLVM_SOURCE_POSITION("String.java", 1612)
4035     XMLVM_SOURCE_POSITION("String.java", 1613)
4036     if (_r2.i > _r0.i) goto label24;
4037     XMLVM_CHECK_NPE(6)
4038     _r3.o = ((java_lang_String*) _r6.o)->fields.java_lang_String.value_;
4039     XMLVM_CHECK_NPE(3)
4040     XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
4041     _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
4042     if (_r3.i > _r5.i) goto label24;
4043     XMLVM_SOURCE_POSITION("String.java", 1614)
4044     _r2.i = _r2.i + 1;
4045     goto label13;
4046     label24:;
4047     XMLVM_SOURCE_POSITION("String.java", 1616)
4048     if (_r0.i < _r2.i) goto label35;
4049     XMLVM_CHECK_NPE(6)
4050     _r3.o = ((java_lang_String*) _r6.o)->fields.java_lang_String.value_;
4051     XMLVM_CHECK_NPE(3)
4052     XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
4053     _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
4054     if (_r3.i > _r5.i) goto label35;
4055     XMLVM_SOURCE_POSITION("String.java", 1617)
4056     _r0.i = _r0.i + -1;
4057     goto label24;
4058     label35:;
4059     XMLVM_SOURCE_POSITION("String.java", 1619)
4060     XMLVM_CHECK_NPE(6)
4061     _r3.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.offset_;
4062     if (_r2.i != _r3.i) goto label43;
4063     if (_r0.i != _r1.i) goto label43;
4064     _r3 = _r6;
4065     label42:;
4066     XMLVM_SOURCE_POSITION("String.java", 1620)
4067     XMLVM_SOURCE_POSITION("String.java", 1622)
4068     XMLVM_EXIT_METHOD()
4069     return _r3.o;
4070     label43:;
4071     _r3.o = __NEW_java_lang_String();
4072     _r4.i = _r0.i - _r2.i;
4073     _r4.i = _r4.i + 1;
4074     XMLVM_CHECK_NPE(6)
4075     _r5.o = ((java_lang_String*) _r6.o)->fields.java_lang_String.value_;
4076     XMLVM_CHECK_NPE(3)
4077     java_lang_String___INIT____int_int_char_1ARRAY(_r3.o, _r2.i, _r4.i, _r5.o);
4078     goto label42;
4079     //XMLVM_END_WRAPPER
4080 }
4081 
java_lang_String_valueOf___char_1ARRAY(JAVA_OBJECT n1)4082 JAVA_OBJECT java_lang_String_valueOf___char_1ARRAY(JAVA_OBJECT n1)
4083 {
4084     XMLVM_CLASS_INIT(java_lang_String)
4085     //XMLVM_BEGIN_WRAPPER[java_lang_String_valueOf___char_1ARRAY]
4086     XMLVM_ENTER_METHOD("java.lang.String", "valueOf", "?")
4087     XMLVMElem _r0;
4088     XMLVMElem _r1;
4089     XMLVMElem _r2;
4090     XMLVMElem _r3;
4091     _r3.o = n1;
4092     XMLVM_SOURCE_POSITION("String.java", 1637)
4093     _r0.o = __NEW_java_lang_String();
4094     _r1.i = 0;
4095     _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
4096     XMLVM_CHECK_NPE(0)
4097     java_lang_String___INIT____char_1ARRAY_int_int(_r0.o, _r3.o, _r1.i, _r2.i);
4098     XMLVM_EXIT_METHOD()
4099     return _r0.o;
4100     //XMLVM_END_WRAPPER
4101 }
4102 
java_lang_String_valueOf___char_1ARRAY_int_int(JAVA_OBJECT n1,JAVA_INT n2,JAVA_INT n3)4103 JAVA_OBJECT java_lang_String_valueOf___char_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
4104 {
4105     XMLVM_CLASS_INIT(java_lang_String)
4106     //XMLVM_BEGIN_WRAPPER[java_lang_String_valueOf___char_1ARRAY_int_int]
4107     XMLVM_ENTER_METHOD("java.lang.String", "valueOf", "?")
4108     XMLVMElem _r0;
4109     XMLVMElem _r1;
4110     XMLVMElem _r2;
4111     XMLVMElem _r3;
4112     _r1.o = n1;
4113     _r2.i = n2;
4114     _r3.i = n3;
4115     XMLVM_SOURCE_POSITION("String.java", 1659)
4116     _r0.o = __NEW_java_lang_String();
4117     XMLVM_CHECK_NPE(0)
4118     java_lang_String___INIT____char_1ARRAY_int_int(_r0.o, _r1.o, _r2.i, _r3.i);
4119     XMLVM_EXIT_METHOD()
4120     return _r0.o;
4121     //XMLVM_END_WRAPPER
4122 }
4123 
java_lang_String_valueOf___char(JAVA_CHAR n1)4124 JAVA_OBJECT java_lang_String_valueOf___char(JAVA_CHAR n1)
4125 {
4126     XMLVM_CLASS_INIT(java_lang_String)
4127     //XMLVM_BEGIN_WRAPPER[java_lang_String_valueOf___char]
4128     XMLVM_ENTER_METHOD("java.lang.String", "valueOf", "?")
4129     XMLVMElem _r0;
4130     XMLVMElem _r1;
4131     XMLVMElem _r2;
4132     XMLVMElem _r3;
4133     XMLVMElem _r4;
4134     _r4.i = n1;
4135     _r3.i = 0;
4136     _r2.i = 1;
4137     XMLVM_SOURCE_POSITION("String.java", 1671)
4138     _r1.i = 128;
4139     if (_r4.i >= _r1.i) goto label16;
4140     XMLVM_SOURCE_POSITION("String.java", 1672)
4141     _r0.o = __NEW_java_lang_String();
4142     _r1.o = java_lang_String_GET_ascii();
4143     XMLVM_CHECK_NPE(0)
4144     java_lang_String___INIT____int_int_char_1ARRAY(_r0.o, _r4.i, _r2.i, _r1.o);
4145     label13:;
4146     XMLVM_SOURCE_POSITION("String.java", 1676)
4147     XMLVM_CHECK_NPE(0)
4148     ((java_lang_String*) _r0.o)->fields.java_lang_String.hashCode_ = _r4.i;
4149     XMLVM_SOURCE_POSITION("String.java", 1677)
4150     XMLVM_EXIT_METHOD()
4151     return _r0.o;
4152     label16:;
4153     XMLVM_SOURCE_POSITION("String.java", 1674)
4154     _r0.o = __NEW_java_lang_String();
4155     XMLVM_CLASS_INIT(char)
4156     _r1.o = XMLVMArray_createSingleDimension(__CLASS_char, _r2.i);
4157     XMLVM_CHECK_NPE(1)
4158     XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r3.i);
4159     ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.i;
4160     XMLVM_CHECK_NPE(0)
4161     java_lang_String___INIT____int_int_char_1ARRAY(_r0.o, _r3.i, _r2.i, _r1.o);
4162     goto label13;
4163     //XMLVM_END_WRAPPER
4164 }
4165 
java_lang_String_valueOf___double(JAVA_DOUBLE n1)4166 JAVA_OBJECT java_lang_String_valueOf___double(JAVA_DOUBLE n1)
4167 {
4168     XMLVM_CLASS_INIT(java_lang_String)
4169     //XMLVM_BEGIN_WRAPPER[java_lang_String_valueOf___double]
4170     XMLVM_ENTER_METHOD("java.lang.String", "valueOf", "?")
4171     XMLVMElem _r0;
4172     XMLVMElem _r1;
4173     XMLVMElem _r2;
4174     _r1.d = n1;
4175     XMLVM_SOURCE_POSITION("String.java", 1688)
4176     _r0.o = java_lang_Double_toString___double(_r1.d);
4177     XMLVM_EXIT_METHOD()
4178     return _r0.o;
4179     //XMLVM_END_WRAPPER
4180 }
4181 
java_lang_String_valueOf___float(JAVA_FLOAT n1)4182 JAVA_OBJECT java_lang_String_valueOf___float(JAVA_FLOAT n1)
4183 {
4184     XMLVM_CLASS_INIT(java_lang_String)
4185     //XMLVM_BEGIN_WRAPPER[java_lang_String_valueOf___float]
4186     XMLVM_ENTER_METHOD("java.lang.String", "valueOf", "?")
4187     XMLVMElem _r0;
4188     XMLVMElem _r1;
4189     _r1.f = n1;
4190     XMLVM_SOURCE_POSITION("String.java", 1699)
4191     _r0.o = java_lang_Float_toString___float(_r1.f);
4192     XMLVM_EXIT_METHOD()
4193     return _r0.o;
4194     //XMLVM_END_WRAPPER
4195 }
4196 
java_lang_String_valueOf___int(JAVA_INT n1)4197 JAVA_OBJECT java_lang_String_valueOf___int(JAVA_INT n1)
4198 {
4199     XMLVM_CLASS_INIT(java_lang_String)
4200     //XMLVM_BEGIN_WRAPPER[java_lang_String_valueOf___int]
4201     XMLVM_ENTER_METHOD("java.lang.String", "valueOf", "?")
4202     XMLVMElem _r0;
4203     XMLVMElem _r1;
4204     _r1.i = n1;
4205     XMLVM_SOURCE_POSITION("String.java", 1710)
4206     _r0.o = java_lang_Integer_toString___int(_r1.i);
4207     XMLVM_EXIT_METHOD()
4208     return _r0.o;
4209     //XMLVM_END_WRAPPER
4210 }
4211 
java_lang_String_valueOf___long(JAVA_LONG n1)4212 JAVA_OBJECT java_lang_String_valueOf___long(JAVA_LONG n1)
4213 {
4214     XMLVM_CLASS_INIT(java_lang_String)
4215     //XMLVM_BEGIN_WRAPPER[java_lang_String_valueOf___long]
4216     XMLVM_ENTER_METHOD("java.lang.String", "valueOf", "?")
4217     XMLVMElem _r0;
4218     XMLVMElem _r1;
4219     XMLVMElem _r2;
4220     _r1.l = n1;
4221     XMLVM_SOURCE_POSITION("String.java", 1721)
4222     _r0.o = java_lang_Long_toString___long(_r1.l);
4223     XMLVM_EXIT_METHOD()
4224     return _r0.o;
4225     //XMLVM_END_WRAPPER
4226 }
4227 
java_lang_String_valueOf___java_lang_Object(JAVA_OBJECT n1)4228 JAVA_OBJECT java_lang_String_valueOf___java_lang_Object(JAVA_OBJECT n1)
4229 {
4230     XMLVM_CLASS_INIT(java_lang_String)
4231     //XMLVM_BEGIN_WRAPPER[java_lang_String_valueOf___java_lang_Object]
4232     XMLVM_ENTER_METHOD("java.lang.String", "valueOf", "?")
4233     XMLVMElem _r0;
4234     XMLVMElem _r1;
4235     _r1.o = n1;
4236     XMLVM_SOURCE_POSITION("String.java", 1734)
4237     if (_r1.o == JAVA_NULL) goto label7;
4238     //java_lang_Object_toString__[5]
4239     XMLVM_CHECK_NPE(1)
4240     _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r1.o)->tib->vtable[5])(_r1.o);
4241     label6:;
4242     XMLVM_EXIT_METHOD()
4243     return _r0.o;
4244     label7:;
4245     // "null"
4246     _r0.o = xmlvm_create_java_string_from_pool(63);
4247     goto label6;
4248     //XMLVM_END_WRAPPER
4249 }
4250 
java_lang_String_valueOf___boolean(JAVA_BOOLEAN n1)4251 JAVA_OBJECT java_lang_String_valueOf___boolean(JAVA_BOOLEAN n1)
4252 {
4253     XMLVM_CLASS_INIT(java_lang_String)
4254     //XMLVM_BEGIN_WRAPPER[java_lang_String_valueOf___boolean]
4255     XMLVM_ENTER_METHOD("java.lang.String", "valueOf", "?")
4256     XMLVMElem _r0;
4257     XMLVMElem _r1;
4258     _r1.i = n1;
4259     XMLVM_SOURCE_POSITION("String.java", 1747)
4260     if (_r1.i == 0) goto label5;
4261     // "true"
4262     _r0.o = xmlvm_create_java_string_from_pool(4);
4263     label4:;
4264     XMLVM_EXIT_METHOD()
4265     return _r0.o;
4266     label5:;
4267     // "false"
4268     _r0.o = xmlvm_create_java_string_from_pool(178);
4269     goto label4;
4270     //XMLVM_END_WRAPPER
4271 }
4272 
java_lang_String_contentEquals___java_lang_StringBuffer(JAVA_OBJECT me,JAVA_OBJECT n1)4273 JAVA_BOOLEAN java_lang_String_contentEquals___java_lang_StringBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
4274 {
4275     //XMLVM_BEGIN_WRAPPER[java_lang_String_contentEquals___java_lang_StringBuffer]
4276     XMLVM_ENTER_METHOD("java.lang.String", "contentEquals", "?")
4277     volatile XMLVMElem _r0;
4278     volatile XMLVMElem _r1;
4279     volatile XMLVMElem _r2;
4280     volatile XMLVMElem _r3;
4281     volatile XMLVMElem _r4;
4282     volatile XMLVMElem _r5;
4283     volatile XMLVMElem _r6;
4284     _r5.o = me;
4285     _r6.o = n1;
4286     _r2.i = 0;
4287     XMLVM_SOURCE_POSITION("String.java", 1764)
4288     java_lang_Object_acquireLockRecursive__(_r6.o);
4289     XMLVM_TRY_BEGIN(w3113aaac87b1b6)
4290     // Begin try
4291     XMLVM_SOURCE_POSITION("String.java", 1765)
4292 
4293 
4294     // Red class access removed: java.lang.StringBuffer::length
4295     XMLVM_RED_CLASS_DEPENDENCY();
4296     XMLVM_SOURCE_POSITION("String.java", 1766)
4297     XMLVM_CHECK_NPE(5)
4298     _r1.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
4299     if (_r1.i == _r0.i) { XMLVM_MEMCPY(curThread_w3113aaac87b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3113aaac87b1b6, sizeof(XMLVM_JMP_BUF)); goto label13; };
4300     XMLVM_SOURCE_POSITION("String.java", 1767)
4301     java_lang_Object_releaseLockRecursive__(_r6.o);
4302     _r1 = _r2;
4303     // End try
4304     XMLVM_TRY_END
4305     XMLVM_CATCH_BEGIN(w3113aaac87b1b6)
4306         XMLVM_CATCH_SPECIFIC(w3113aaac87b1b6,java_lang_Object,31)
4307     XMLVM_CATCH_END(w3113aaac87b1b6)
4308     XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac87b1b6)
4309     label12:;
4310     XMLVM_TRY_BEGIN(w3113aaac87b1b8)
4311     // Begin try
4312     XMLVM_SOURCE_POSITION("String.java", 1769)
4313     XMLVM_MEMCPY(curThread_w3113aaac87b1b8->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3113aaac87b1b8, sizeof(XMLVM_JMP_BUF));
4314     XMLVM_EXIT_METHOD()
4315     return _r1.i;
4316     // End try
4317     XMLVM_TRY_END
4318     XMLVM_CATCH_BEGIN(w3113aaac87b1b8)
4319         XMLVM_CATCH_SPECIFIC(w3113aaac87b1b8,java_lang_Object,31)
4320     XMLVM_CATCH_END(w3113aaac87b1b8)
4321     XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac87b1b8)
4322     label13:;
4323     XMLVM_TRY_BEGIN(w3113aaac87b1c10)
4324     // Begin try
4325     _r1.i = 0;
4326     _r2.o = __NEW_java_lang_String();
4327     _r3.i = 0;
4328 
4329 
4330     // Red class access removed: java.lang.StringBuffer::getValue
4331     XMLVM_RED_CLASS_DEPENDENCY();
4332     XMLVM_CHECK_NPE(2)
4333     java_lang_String___INIT____int_int_char_1ARRAY(_r2.o, _r3.i, _r0.i, _r4.o);
4334     _r3.i = 0;
4335     XMLVM_CHECK_NPE(5)
4336     _r1.i = java_lang_String_regionMatches___int_java_lang_String_int_int(_r5.o, _r1.i, _r2.o, _r3.i, _r0.i);
4337     java_lang_Object_releaseLockRecursive__(_r6.o);
4338     { XMLVM_MEMCPY(curThread_w3113aaac87b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3113aaac87b1c10, sizeof(XMLVM_JMP_BUF)); goto label12; };
4339     XMLVM_SOURCE_POSITION("String.java", 1771)
4340     // End try
4341     XMLVM_TRY_END
4342     XMLVM_CATCH_BEGIN(w3113aaac87b1c10)
4343         XMLVM_CATCH_SPECIFIC(w3113aaac87b1c10,java_lang_Object,31)
4344     XMLVM_CATCH_END(w3113aaac87b1c10)
4345     XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac87b1c10)
4346     label31:;
4347     XMLVM_TRY_BEGIN(w3113aaac87b1c12)
4348     // Begin try
4349     java_lang_Thread* curThread_w3113aaac87b1c12aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
4350     _r1.o = curThread_w3113aaac87b1c12aa->fields.java_lang_Thread.xmlvmException_;
4351     java_lang_Object_releaseLockRecursive__(_r6.o);
4352     // End try
4353     XMLVM_TRY_END
4354     XMLVM_CATCH_BEGIN(w3113aaac87b1c12)
4355         XMLVM_CATCH_SPECIFIC(w3113aaac87b1c12,java_lang_Object,31)
4356     XMLVM_CATCH_END(w3113aaac87b1c12)
4357     XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac87b1c12)
4358     XMLVM_THROW_CUSTOM(_r1.o)
4359     //XMLVM_END_WRAPPER
4360 }
4361 
java_lang_String_contentEquals___java_lang_CharSequence(JAVA_OBJECT me,JAVA_OBJECT n1)4362 JAVA_BOOLEAN java_lang_String_contentEquals___java_lang_CharSequence(JAVA_OBJECT me, JAVA_OBJECT n1)
4363 {
4364     //XMLVM_BEGIN_WRAPPER[java_lang_String_contentEquals___java_lang_CharSequence]
4365     XMLVM_ENTER_METHOD("java.lang.String", "contentEquals", "?")
4366     XMLVMElem _r0;
4367     XMLVMElem _r1;
4368     XMLVMElem _r2;
4369     XMLVMElem _r3;
4370     XMLVMElem _r4;
4371     _r3.o = me;
4372     _r4.o = n1;
4373     _r2.i = 0;
4374     XMLVM_SOURCE_POSITION("String.java", 1784)
4375     XMLVM_CHECK_NPE(4)
4376     _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__])(_r4.o);
4377     XMLVM_SOURCE_POSITION("String.java", 1786)
4378     XMLVM_CHECK_NPE(3)
4379     _r1.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.count_;
4380     if (_r0.i == _r1.i) goto label11;
4381     _r1 = _r2;
4382     label10:;
4383     XMLVM_SOURCE_POSITION("String.java", 1787)
4384     XMLVM_SOURCE_POSITION("String.java", 1794)
4385     XMLVM_EXIT_METHOD()
4386     return _r1.i;
4387     label11:;
4388     XMLVM_SOURCE_POSITION("String.java", 1790)
4389     if (_r0.i != 0) goto label19;
4390     XMLVM_CHECK_NPE(3)
4391     _r1.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.count_;
4392     if (_r1.i != 0) goto label19;
4393     XMLVM_SOURCE_POSITION("String.java", 1791)
4394     _r1.i = 1;
4395     goto label10;
4396     label19:;
4397     //java_lang_Object_toString__[5]
4398     XMLVM_CHECK_NPE(4)
4399     _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[5])(_r4.o);
4400     XMLVM_CHECK_NPE(3)
4401     _r1.i = java_lang_String_regionMatches___int_java_lang_String_int_int(_r3.o, _r2.i, _r1.o, _r2.i, _r0.i);
4402     goto label10;
4403     //XMLVM_END_WRAPPER
4404 }
4405 
java_lang_String_matches___java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1)4406 JAVA_BOOLEAN java_lang_String_matches___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
4407 {
4408     //XMLVM_BEGIN_WRAPPER[java_lang_String_matches___java_lang_String]
4409     XMLVM_ENTER_METHOD("java.lang.String", "matches", "?")
4410     XMLVMElem _r0;
4411     XMLVMElem _r1;
4412     XMLVMElem _r2;
4413     _r1.o = me;
4414     _r2.o = n1;
4415     XMLVM_SOURCE_POSITION("String.java", 1811)
4416 
4417 
4418     // Red class access removed: java.util.regex.Pattern::matches
4419     XMLVM_RED_CLASS_DEPENDENCY();
4420     XMLVM_EXIT_METHOD()
4421     return _r0.i;
4422     //XMLVM_END_WRAPPER
4423 }
4424 
java_lang_String_replaceAll___java_lang_String_java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_OBJECT n2)4425 JAVA_OBJECT java_lang_String_replaceAll___java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
4426 {
4427     //XMLVM_BEGIN_WRAPPER[java_lang_String_replaceAll___java_lang_String_java_lang_String]
4428     XMLVM_ENTER_METHOD("java.lang.String", "replaceAll", "?")
4429     XMLVMElem _r0;
4430     XMLVMElem _r1;
4431     XMLVMElem _r2;
4432     XMLVMElem _r3;
4433     _r1.o = me;
4434     _r2.o = n1;
4435     _r3.o = n2;
4436     XMLVM_SOURCE_POSITION("String.java", 1830)
4437 
4438 
4439     // Red class access removed: java.util.regex.Pattern::compile
4440     XMLVM_RED_CLASS_DEPENDENCY();
4441 
4442 
4443     // Red class access removed: java.util.regex.Pattern::matcher
4444     XMLVM_RED_CLASS_DEPENDENCY();
4445 
4446 
4447     // Red class access removed: java.util.regex.Matcher::replaceAll
4448     XMLVM_RED_CLASS_DEPENDENCY();
4449     XMLVM_EXIT_METHOD()
4450     return _r0.o;
4451     //XMLVM_END_WRAPPER
4452 }
4453 
java_lang_String_replaceFirst___java_lang_String_java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_OBJECT n2)4454 JAVA_OBJECT java_lang_String_replaceFirst___java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
4455 {
4456     //XMLVM_BEGIN_WRAPPER[java_lang_String_replaceFirst___java_lang_String_java_lang_String]
4457     XMLVM_ENTER_METHOD("java.lang.String", "replaceFirst", "?")
4458     XMLVMElem _r0;
4459     XMLVMElem _r1;
4460     XMLVMElem _r2;
4461     XMLVMElem _r3;
4462     _r1.o = me;
4463     _r2.o = n1;
4464     _r3.o = n2;
4465     XMLVM_SOURCE_POSITION("String.java", 1851)
4466 
4467 
4468     // Red class access removed: java.util.regex.Pattern::compile
4469     XMLVM_RED_CLASS_DEPENDENCY();
4470 
4471 
4472     // Red class access removed: java.util.regex.Pattern::matcher
4473     XMLVM_RED_CLASS_DEPENDENCY();
4474 
4475 
4476     // Red class access removed: java.util.regex.Matcher::replaceFirst
4477     XMLVM_RED_CLASS_DEPENDENCY();
4478     XMLVM_EXIT_METHOD()
4479     return _r0.o;
4480     //XMLVM_END_WRAPPER
4481 }
4482 
java_lang_String_split___java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1)4483 JAVA_OBJECT java_lang_String_split___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
4484 {
4485     //XMLVM_BEGIN_WRAPPER[java_lang_String_split___java_lang_String]
4486     XMLVM_ENTER_METHOD("java.lang.String", "split", "?")
4487     XMLVMElem _r0;
4488     XMLVMElem _r1;
4489     XMLVMElem _r2;
4490     _r1.o = me;
4491     _r2.o = n1;
4492     XMLVM_SOURCE_POSITION("String.java", 1870)
4493 
4494 
4495     // Red class access removed: java.util.regex.Pattern::compile
4496     XMLVM_RED_CLASS_DEPENDENCY();
4497 
4498 
4499     // Red class access removed: java.util.regex.Pattern::split
4500     XMLVM_RED_CLASS_DEPENDENCY();
4501     XMLVM_EXIT_METHOD()
4502     return _r0.o;
4503     //XMLVM_END_WRAPPER
4504 }
4505 
java_lang_String_split___java_lang_String_int(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2)4506 JAVA_OBJECT java_lang_String_split___java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
4507 {
4508     //XMLVM_BEGIN_WRAPPER[java_lang_String_split___java_lang_String_int]
4509     XMLVM_ENTER_METHOD("java.lang.String", "split", "?")
4510     XMLVMElem _r0;
4511     XMLVMElem _r1;
4512     XMLVMElem _r2;
4513     XMLVMElem _r3;
4514     _r1.o = me;
4515     _r2.o = n1;
4516     _r3.i = n2;
4517     XMLVM_SOURCE_POSITION("String.java", 1893)
4518 
4519 
4520     // Red class access removed: java.util.regex.Pattern::compile
4521     XMLVM_RED_CLASS_DEPENDENCY();
4522 
4523 
4524     // Red class access removed: java.util.regex.Pattern::split
4525     XMLVM_RED_CLASS_DEPENDENCY();
4526     XMLVM_EXIT_METHOD()
4527     return _r0.o;
4528     //XMLVM_END_WRAPPER
4529 }
4530 
java_lang_String_subSequence___int_int(JAVA_OBJECT me,JAVA_INT n1,JAVA_INT n2)4531 JAVA_OBJECT java_lang_String_subSequence___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
4532 {
4533     //XMLVM_BEGIN_WRAPPER[java_lang_String_subSequence___int_int]
4534     XMLVM_ENTER_METHOD("java.lang.String", "subSequence", "?")
4535     XMLVMElem _r0;
4536     XMLVMElem _r1;
4537     XMLVMElem _r2;
4538     XMLVMElem _r3;
4539     _r1.o = me;
4540     _r2.i = n1;
4541     _r3.i = n2;
4542     XMLVM_SOURCE_POSITION("String.java", 1912)
4543     XMLVM_CHECK_NPE(1)
4544     _r0.o = java_lang_String_substring___int_int(_r1.o, _r2.i, _r3.i);
4545     XMLVM_EXIT_METHOD()
4546     return _r0.o;
4547     //XMLVM_END_WRAPPER
4548 }
4549 
java_lang_String_codePointAt___int(JAVA_OBJECT me,JAVA_INT n1)4550 JAVA_INT java_lang_String_codePointAt___int(JAVA_OBJECT me, JAVA_INT n1)
4551 {
4552     //XMLVM_BEGIN_WRAPPER[java_lang_String_codePointAt___int]
4553     XMLVM_ENTER_METHOD("java.lang.String", "codePointAt", "?")
4554     XMLVMElem _r0;
4555     XMLVMElem _r1;
4556     XMLVMElem _r2;
4557     XMLVMElem _r3;
4558     XMLVMElem _r4;
4559     XMLVMElem _r5;
4560     _r4.o = me;
4561     _r5.i = n1;
4562     XMLVM_SOURCE_POSITION("String.java", 1929)
4563     if (_r5.i < 0) goto label6;
4564     XMLVM_CHECK_NPE(4)
4565     _r1.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
4566     if (_r5.i < _r1.i) goto label12;
4567     label6:;
4568     XMLVM_SOURCE_POSITION("String.java", 1930)
4569     _r1.o = __NEW_java_lang_IndexOutOfBoundsException();
4570     XMLVM_CHECK_NPE(1)
4571     java_lang_IndexOutOfBoundsException___INIT___(_r1.o);
4572     XMLVM_THROW_CUSTOM(_r1.o)
4573     label12:;
4574     XMLVM_SOURCE_POSITION("String.java", 1932)
4575     XMLVM_CHECK_NPE(4)
4576     _r1.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
4577     _r0.i = _r5.i + _r1.i;
4578     XMLVM_SOURCE_POSITION("String.java", 1933)
4579     XMLVM_CHECK_NPE(4)
4580     _r1.o = ((java_lang_String*) _r4.o)->fields.java_lang_String.value_;
4581     XMLVM_CHECK_NPE(4)
4582     _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
4583     XMLVM_CHECK_NPE(4)
4584     _r3.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
4585     _r2.i = _r2.i + _r3.i;
4586     _r1.i = java_lang_Character_codePointAt___char_1ARRAY_int_int(_r1.o, _r0.i, _r2.i);
4587     XMLVM_EXIT_METHOD()
4588     return _r1.i;
4589     //XMLVM_END_WRAPPER
4590 }
4591 
java_lang_String_codePointBefore___int(JAVA_OBJECT me,JAVA_INT n1)4592 JAVA_INT java_lang_String_codePointBefore___int(JAVA_OBJECT me, JAVA_INT n1)
4593 {
4594     //XMLVM_BEGIN_WRAPPER[java_lang_String_codePointBefore___int]
4595     XMLVM_ENTER_METHOD("java.lang.String", "codePointBefore", "?")
4596     XMLVMElem _r0;
4597     XMLVMElem _r1;
4598     XMLVMElem _r2;
4599     XMLVMElem _r3;
4600     _r2.o = me;
4601     _r3.i = n1;
4602     XMLVM_SOURCE_POSITION("String.java", 1950)
4603     _r1.i = 1;
4604     if (_r3.i < _r1.i) goto label7;
4605     XMLVM_CHECK_NPE(2)
4606     _r1.i = ((java_lang_String*) _r2.o)->fields.java_lang_String.count_;
4607     if (_r3.i <= _r1.i) goto label13;
4608     label7:;
4609     XMLVM_SOURCE_POSITION("String.java", 1951)
4610     _r1.o = __NEW_java_lang_IndexOutOfBoundsException();
4611     XMLVM_CHECK_NPE(1)
4612     java_lang_IndexOutOfBoundsException___INIT___(_r1.o);
4613     XMLVM_THROW_CUSTOM(_r1.o)
4614     label13:;
4615     XMLVM_SOURCE_POSITION("String.java", 1953)
4616     XMLVM_CHECK_NPE(2)
4617     _r1.i = ((java_lang_String*) _r2.o)->fields.java_lang_String.offset_;
4618     _r0.i = _r3.i + _r1.i;
4619     XMLVM_SOURCE_POSITION("String.java", 1954)
4620     XMLVM_CHECK_NPE(2)
4621     _r1.o = ((java_lang_String*) _r2.o)->fields.java_lang_String.value_;
4622     _r1.i = java_lang_Character_codePointBefore___char_1ARRAY_int(_r1.o, _r0.i);
4623     XMLVM_EXIT_METHOD()
4624     return _r1.i;
4625     //XMLVM_END_WRAPPER
4626 }
4627 
java_lang_String_codePointCount___int_int(JAVA_OBJECT me,JAVA_INT n1,JAVA_INT n2)4628 JAVA_INT java_lang_String_codePointCount___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
4629 {
4630     //XMLVM_BEGIN_WRAPPER[java_lang_String_codePointCount___int_int]
4631     XMLVM_ENTER_METHOD("java.lang.String", "codePointCount", "?")
4632     XMLVMElem _r0;
4633     XMLVMElem _r1;
4634     XMLVMElem _r2;
4635     XMLVMElem _r3;
4636     XMLVMElem _r4;
4637     XMLVMElem _r5;
4638     _r3.o = me;
4639     _r4.i = n1;
4640     _r5.i = n2;
4641     XMLVM_SOURCE_POSITION("String.java", 1974)
4642     if (_r4.i < 0) goto label8;
4643     XMLVM_CHECK_NPE(3)
4644     _r1.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.count_;
4645     if (_r5.i > _r1.i) goto label8;
4646     if (_r4.i <= _r5.i) goto label14;
4647     label8:;
4648     XMLVM_SOURCE_POSITION("String.java", 1975)
4649     _r1.o = __NEW_java_lang_IndexOutOfBoundsException();
4650     XMLVM_CHECK_NPE(1)
4651     java_lang_IndexOutOfBoundsException___INIT___(_r1.o);
4652     XMLVM_THROW_CUSTOM(_r1.o)
4653     label14:;
4654     XMLVM_SOURCE_POSITION("String.java", 1977)
4655     XMLVM_CHECK_NPE(3)
4656     _r1.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.offset_;
4657     _r0.i = _r4.i + _r1.i;
4658     XMLVM_SOURCE_POSITION("String.java", 1978)
4659     XMLVM_CHECK_NPE(3)
4660     _r1.o = ((java_lang_String*) _r3.o)->fields.java_lang_String.value_;
4661     _r2.i = _r5.i - _r4.i;
4662     _r1.i = java_lang_Character_codePointCount___char_1ARRAY_int_int(_r1.o, _r0.i, _r2.i);
4663     XMLVM_EXIT_METHOD()
4664     return _r1.i;
4665     //XMLVM_END_WRAPPER
4666 }
4667 
java_lang_String_contains___java_lang_CharSequence(JAVA_OBJECT me,JAVA_OBJECT n1)4668 JAVA_BOOLEAN java_lang_String_contains___java_lang_CharSequence(JAVA_OBJECT me, JAVA_OBJECT n1)
4669 {
4670     //XMLVM_BEGIN_WRAPPER[java_lang_String_contains___java_lang_CharSequence]
4671     XMLVM_ENTER_METHOD("java.lang.String", "contains", "?")
4672     XMLVMElem _r0;
4673     XMLVMElem _r1;
4674     XMLVMElem _r2;
4675     _r1.o = me;
4676     _r2.o = n1;
4677     XMLVM_SOURCE_POSITION("String.java", 1992)
4678     //java_lang_Object_toString__[5]
4679     XMLVM_CHECK_NPE(2)
4680     _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[5])(_r2.o);
4681     XMLVM_CHECK_NPE(1)
4682     _r0.i = java_lang_String_indexOf___java_lang_String(_r1.o, _r0.o);
4683     if (_r0.i < 0) goto label12;
4684     _r0.i = 1;
4685     label11:;
4686     XMLVM_EXIT_METHOD()
4687     return _r0.i;
4688     label12:;
4689     _r0.i = 0;
4690     goto label11;
4691     //XMLVM_END_WRAPPER
4692 }
4693 
java_lang_String_offsetByCodePoints___int_int(JAVA_OBJECT me,JAVA_INT n1,JAVA_INT n2)4694 JAVA_INT java_lang_String_offsetByCodePoints___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
4695 {
4696     //XMLVM_BEGIN_WRAPPER[java_lang_String_offsetByCodePoints___int_int]
4697     XMLVM_ENTER_METHOD("java.lang.String", "offsetByCodePoints", "?")
4698     XMLVMElem _r0;
4699     XMLVMElem _r1;
4700     XMLVMElem _r2;
4701     XMLVMElem _r3;
4702     XMLVMElem _r4;
4703     XMLVMElem _r5;
4704     XMLVMElem _r6;
4705     XMLVMElem _r7;
4706     _r5.o = me;
4707     _r6.i = n1;
4708     _r7.i = n2;
4709     XMLVM_SOURCE_POSITION("String.java", 2011)
4710     XMLVM_CHECK_NPE(5)
4711     _r2.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
4712     _r1.i = _r6.i + _r2.i;
4713     XMLVM_SOURCE_POSITION("String.java", 2012)
4714     XMLVM_CHECK_NPE(5)
4715     _r2.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
4716     XMLVM_CHECK_NPE(5)
4717     _r3.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
4718     XMLVM_CHECK_NPE(5)
4719     _r4.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
4720     _r0.i = java_lang_Character_offsetByCodePoints___char_1ARRAY_int_int_int_int(_r2.o, _r3.i, _r4.i, _r1.i, _r7.i);
4721     XMLVM_SOURCE_POSITION("String.java", 2014)
4722     XMLVM_CHECK_NPE(5)
4723     _r2.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
4724     _r2.i = _r0.i - _r2.i;
4725     XMLVM_EXIT_METHOD()
4726     return _r2.i;
4727     //XMLVM_END_WRAPPER
4728 }
4729 
java_lang_String_format___java_lang_String_java_lang_Object_1ARRAY(JAVA_OBJECT n1,JAVA_OBJECT n2)4730 JAVA_OBJECT java_lang_String_format___java_lang_String_java_lang_Object_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2)
4731 {
4732     XMLVM_CLASS_INIT(java_lang_String)
4733     //XMLVM_BEGIN_WRAPPER[java_lang_String_format___java_lang_String_java_lang_Object_1ARRAY]
4734     XMLVM_ENTER_METHOD("java.lang.String", "format", "?")
4735     XMLVMElem _r0;
4736     XMLVMElem _r1;
4737     XMLVMElem _r2;
4738     _r1.o = n1;
4739     _r2.o = n2;
4740     XMLVM_SOURCE_POSITION("String.java", 2034)
4741     _r0.o = java_util_Locale_getDefault__();
4742     _r0.o = java_lang_String_format___java_util_Locale_java_lang_String_java_lang_Object_1ARRAY(_r0.o, _r1.o, _r2.o);
4743     XMLVM_EXIT_METHOD()
4744     return _r0.o;
4745     //XMLVM_END_WRAPPER
4746 }
4747 
java_lang_String_format___java_util_Locale_java_lang_String_java_lang_Object_1ARRAY(JAVA_OBJECT n1,JAVA_OBJECT n2,JAVA_OBJECT n3)4748 JAVA_OBJECT java_lang_String_format___java_util_Locale_java_lang_String_java_lang_Object_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
4749 {
4750     XMLVM_CLASS_INIT(java_lang_String)
4751     //XMLVM_BEGIN_WRAPPER[java_lang_String_format___java_util_Locale_java_lang_String_java_lang_Object_1ARRAY]
4752     XMLVM_ENTER_METHOD("java.lang.String", "format", "?")
4753     XMLVMElem _r0;
4754     XMLVMElem _r1;
4755     XMLVMElem _r2;
4756     XMLVMElem _r3;
4757     XMLVMElem _r4;
4758     XMLVMElem _r5;
4759     XMLVMElem _r6;
4760     _r4.o = n1;
4761     _r5.o = n2;
4762     _r6.o = n3;
4763     XMLVM_SOURCE_POSITION("String.java", 2063)
4764     if (_r5.o != JAVA_NULL) goto label10;
4765     XMLVM_SOURCE_POSITION("String.java", 2064)
4766     _r2.o = __NEW_java_lang_NullPointerException();
4767     // "null format argument"
4768     _r3.o = xmlvm_create_java_string_from_pool(179);
4769     XMLVM_CHECK_NPE(2)
4770     java_lang_NullPointerException___INIT____java_lang_String(_r2.o, _r3.o);
4771     XMLVM_THROW_CUSTOM(_r2.o)
4772     label10:;
4773     XMLVM_SOURCE_POSITION("String.java", 2066)
4774     //java_lang_String_length__[8]
4775     XMLVM_CHECK_NPE(5)
4776     _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r5.o)->tib->vtable[8])(_r5.o);
4777     if (_r6.o != JAVA_NULL) goto label38;
4778     _r3.i = 0;
4779     label17:;
4780     _r0.i = _r2.i + _r3.i;
4781     XMLVM_SOURCE_POSITION("String.java", 2068)
4782 
4783 
4784     // Red class access removed: java.util.Formatter::new-instance
4785     XMLVM_RED_CLASS_DEPENDENCY();
4786     _r2.o = __NEW_java_lang_StringBuilder();
4787     XMLVM_CHECK_NPE(2)
4788     java_lang_StringBuilder___INIT____int(_r2.o, _r0.i);
4789 
4790 
4791     // Red class access removed: java.util.Formatter::<init>
4792     XMLVM_RED_CLASS_DEPENDENCY();
4793     XMLVM_SOURCE_POSITION("String.java", 2069)
4794 
4795 
4796     // Red class access removed: java.util.Formatter::format
4797     XMLVM_RED_CLASS_DEPENDENCY();
4798 
4799 
4800     // Red class access removed: java.util.Formatter::toString
4801     XMLVM_RED_CLASS_DEPENDENCY();
4802     XMLVM_EXIT_METHOD()
4803     return _r2.o;
4804     label38:;
4805     _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
4806     _r3.i = _r3.i * 10;
4807     goto label17;
4808     //XMLVM_END_WRAPPER
4809 }
4810 
java_lang_String_indexOf___java_lang_String_java_lang_String_int_int_char(JAVA_OBJECT n1,JAVA_OBJECT n2,JAVA_INT n3,JAVA_INT n4,JAVA_CHAR n5)4811 JAVA_INT java_lang_String_indexOf___java_lang_String_java_lang_String_int_int_char(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_CHAR n5)
4812 {
4813     XMLVM_CLASS_INIT(java_lang_String)
4814     //XMLVM_BEGIN_WRAPPER[java_lang_String_indexOf___java_lang_String_java_lang_String_int_int_char]
4815     XMLVM_ENTER_METHOD("java.lang.String", "indexOf", "?")
4816     XMLVMElem _r0;
4817     XMLVMElem _r1;
4818     XMLVMElem _r2;
4819     XMLVMElem _r3;
4820     XMLVMElem _r4;
4821     XMLVMElem _r5;
4822     XMLVMElem _r6;
4823     XMLVMElem _r7;
4824     XMLVMElem _r8;
4825     XMLVMElem _r9;
4826     XMLVMElem _r10;
4827     XMLVMElem _r11;
4828     XMLVMElem _r12;
4829     XMLVMElem _r13;
4830     _r9.o = n1;
4831     _r10.o = n2;
4832     _r11.i = n3;
4833     _r12.i = n4;
4834     _r13.i = n5;
4835     XMLVM_SOURCE_POSITION("String.java", 2084)
4836     XMLVM_CHECK_NPE(9)
4837     _r0.o = ((java_lang_String*) _r9.o)->fields.java_lang_String.value_;
4838     XMLVM_SOURCE_POSITION("String.java", 2085)
4839     XMLVM_CHECK_NPE(9)
4840     _r1.i = ((java_lang_String*) _r9.o)->fields.java_lang_String.offset_;
4841     XMLVM_SOURCE_POSITION("String.java", 2086)
4842     XMLVM_CHECK_NPE(9)
4843     _r9.i = ((java_lang_String*) _r9.o)->fields.java_lang_String.count_;
4844     XMLVM_SOURCE_POSITION("String.java", 2087)
4845     XMLVM_CHECK_NPE(10)
4846     _r3.o = ((java_lang_String*) _r10.o)->fields.java_lang_String.value_;
4847     XMLVM_SOURCE_POSITION("String.java", 2088)
4848     XMLVM_CHECK_NPE(10)
4849     _r5.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.offset_;
4850     XMLVM_SOURCE_POSITION("String.java", 2089)
4851     XMLVM_CHECK_NPE(10)
4852     _r10.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.count_;
4853     _r2.i = 1;
4854     _r4.i = _r10.i - _r2.i;
4855     _r9.i = _r9.i + _r1.i;
4856     _r10.i = _r1.i + _r4.i;
4857     label18:;
4858     XMLVM_SOURCE_POSITION("String.java", 2092)
4859     if (_r10.i >= _r9.i) goto label71;
4860     XMLVM_SOURCE_POSITION("String.java", 2093)
4861     XMLVM_CHECK_NPE(0)
4862     XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r10.i);
4863     _r2.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r10.i];
4864     if (_r13.i != _r2.i) goto label60;
4865     XMLVM_SOURCE_POSITION("String.java", 2094)
4866     _r2.i = 0;
4867     label25:;
4868     if (_r2.i >= _r4.i) goto label56;
4869     XMLVM_SOURCE_POSITION("String.java", 2095)
4870     _r6.i = _r2.i + _r5.i;
4871     XMLVM_CHECK_NPE(3)
4872     XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
4873     _r6.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
4874     _r7.i = _r10.i + _r2.i;
4875     _r7.i = _r7.i - _r4.i;
4876     XMLVM_CHECK_NPE(0)
4877     XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r7.i);
4878     _r7.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i];
4879     if (_r6.i == _r7.i) goto label53;
4880     XMLVM_SOURCE_POSITION("String.java", 2097)
4881     _r6.i = 1;
4882     _r7.i = 1;
4883     XMLVM_SOURCE_POSITION("String.java", 2098)
4884     XMLVM_CHECK_NPE(0)
4885     XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r10.i);
4886     _r8.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r10.i];
4887     _r7.i = _r7.i << _r8.i;
4888     _r7.i = _r7.i & _r11.i;
4889     if (_r7.i != 0) goto label73;
4890     XMLVM_SOURCE_POSITION("String.java", 2099)
4891     _r2.i = _r2.i + _r6.i;
4892     label47:;
4893     XMLVM_SOURCE_POSITION("String.java", 2101)
4894     _r2.i = java_lang_Math_max___int_int(_r12.i, _r2.i);
4895     _r10.i = _r10.i + _r2.i;
4896     XMLVM_SOURCE_POSITION("String.java", 2102)
4897     goto label18;
4898     label53:;
4899     _r2.i = _r2.i + 1;
4900     goto label25;
4901     label56:;
4902     XMLVM_SOURCE_POSITION("String.java", 2105)
4903     _r9.i = _r10.i - _r4.i;
4904     _r9.i = _r9.i - _r1.i;
4905     label59:;
4906     XMLVM_SOURCE_POSITION("String.java", 2113)
4907     XMLVM_EXIT_METHOD()
4908     return _r9.i;
4909     label60:;
4910     XMLVM_SOURCE_POSITION("String.java", 2108)
4911     _r2.i = 1;
4912     XMLVM_CHECK_NPE(0)
4913     XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r10.i);
4914     _r6.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r10.i];
4915     _r2.i = _r2.i << _r6.i;
4916     _r2.i = _r2.i & _r11.i;
4917     if (_r2.i != 0) goto label68;
4918     XMLVM_SOURCE_POSITION("String.java", 2109)
4919     _r10.i = _r10.i + _r4.i;
4920     label68:;
4921     XMLVM_SOURCE_POSITION("String.java", 2111)
4922     _r10.i = _r10.i + 1;
4923     goto label18;
4924     label71:;
4925     _r9.i = -1;
4926     goto label59;
4927     label73:;
4928     _r2 = _r6;
4929     goto label47;
4930     //XMLVM_END_WRAPPER
4931 }
4932 
java_lang_String_getValue__(JAVA_OBJECT me)4933 JAVA_OBJECT java_lang_String_getValue__(JAVA_OBJECT me)
4934 {
4935     //XMLVM_BEGIN_WRAPPER[java_lang_String_getValue__]
4936     XMLVM_ENTER_METHOD("java.lang.String", "getValue", "?")
4937     XMLVMElem _r0;
4938     XMLVMElem _r1;
4939     _r1.o = me;
4940     XMLVM_SOURCE_POSITION("String.java", 2120)
4941     XMLVM_CHECK_NPE(1)
4942     _r0.o = ((java_lang_String*) _r1.o)->fields.java_lang_String.value_;
4943     XMLVM_EXIT_METHOD()
4944     return _r0.o;
4945     //XMLVM_END_WRAPPER
4946 }
4947 
java_lang_String_isEmpty__(JAVA_OBJECT me)4948 JAVA_BOOLEAN java_lang_String_isEmpty__(JAVA_OBJECT me)
4949 {
4950     //XMLVM_BEGIN_WRAPPER[java_lang_String_isEmpty__]
4951     XMLVM_ENTER_METHOD("java.lang.String", "isEmpty", "?")
4952     XMLVMElem _r0;
4953     XMLVMElem _r1;
4954     _r1.o = me;
4955     XMLVM_SOURCE_POSITION("String.java", 2124)
4956     //java_lang_String_length__[8]
4957     XMLVM_CHECK_NPE(1)
4958     _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
4959     if (_r0.i != 0) goto label8;
4960     _r0.i = 1;
4961     label7:;
4962     XMLVM_EXIT_METHOD()
4963     return _r0.i;
4964     label8:;
4965     _r0.i = 0;
4966     goto label7;
4967     //XMLVM_END_WRAPPER
4968 }
4969 
java_lang_String_compareTo___java_lang_Object(JAVA_OBJECT me,JAVA_OBJECT n1)4970 JAVA_INT java_lang_String_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
4971 {
4972     //XMLVM_BEGIN_WRAPPER[java_lang_String_compareTo___java_lang_Object]
4973     XMLVM_ENTER_METHOD("java.lang.String", "compareTo", "?")
4974     XMLVMElem _r0;
4975     XMLVMElem _r1;
4976     XMLVMElem _r2;
4977     _r1.o = me;
4978     _r2.o = n1;
4979     XMLVM_SOURCE_POSITION("String.java", 53)
4980     _r2.o = _r2.o;
4981     XMLVM_CHECK_NPE(1)
4982     _r0.i = java_lang_String_compareTo___java_lang_String(_r1.o, _r2.o);
4983     XMLVM_EXIT_METHOD()
4984     return _r0.i;
4985     //XMLVM_END_WRAPPER
4986 }
4987 
java_lang_String___CLINIT_()4988 void java_lang_String___CLINIT_()
4989 {
4990     //XMLVM_BEGIN_WRAPPER[java_lang_String___CLINIT___]
4991     XMLVM_ENTER_METHOD("java.lang.String", "<clinit>", "?")
4992     XMLVMElem _r0;
4993     XMLVMElem _r1;
4994     XMLVMElem _r2;
4995     XMLVM_SOURCE_POSITION("String.java", 140)
4996     _r1.o = __NEW_java_lang_String_CaseInsensitiveComparator();
4997     _r2.o = JAVA_NULL;
4998     XMLVM_CHECK_NPE(1)
4999     java_lang_String_CaseInsensitiveComparator___INIT____java_lang_String_1(_r1.o, _r2.o);
5000     java_lang_String_PUT_CASE_INSENSITIVE_ORDER( _r1.o);
5001     XMLVM_SOURCE_POSITION("String.java", 157)
5002     _r1.i = 128;
5003     XMLVM_CLASS_INIT(char)
5004     _r1.o = XMLVMArray_createSingleDimension(__CLASS_char, _r1.i);
5005     java_lang_String_PUT_ascii( _r1.o);
5006     XMLVM_SOURCE_POSITION("String.java", 158)
5007     _r0.i = 0;
5008     label15:;
5009     _r1.o = java_lang_String_GET_ascii();
5010     _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
5011     if (_r0.i >= _r1.i) goto label28;
5012     XMLVM_SOURCE_POSITION("String.java", 159)
5013     _r1.o = java_lang_String_GET_ascii();
5014     _r2.i = _r0.i & 0xffff;
5015     XMLVM_CHECK_NPE(1)
5016     XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
5017     ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r2.i;
5018     _r0.i = _r0.i + 1;
5019     goto label15;
5020     label28:;
5021     XMLVM_SOURCE_POSITION("String.java", 161)
5022     XMLVM_EXIT_METHOD()
5023     return;
5024     //XMLVM_END_WRAPPER
5025 }
5026 
5027